I'm attempting to port the 2.6.9 example driver from Philips to 2.6.14 and have 
run up against HALT condition when attempting to register the internal hub.

I have found one PXA example for 2.6.17 and have adopted the 
platform_driver/device framework.  I have found one reference to ISP116x which 
has some info on platform-specific things to watch out for but I've run out of 
ideas and wanted to pick the brains of linux-usb-users.

Configuration:
- MPC8548 connected via Local Bus to ISP1761
- Port Mode 3 (P1:PDC P2 & 3: HC) (no OTG support)
- Driver functionality hasn't changed: polled on SOF interrupt then attempts 
submitting QTDs one at a time.

Success so far:
- have Host Controller registered & configured
- root hub is configured
- internal hub is detected

Problems:
- not sure if nsec delay is 'required' for back-to-back reg/memory acces to teh 
ISP1761 - the ISP116x seems to require 150-300ns.  The spec sheet on the 
ISP1761 suggests 90ns.  I seem to only need delays when reading from 
0x400-0xFFFF memory space.  I have inserted delays but it seems to make no 
difference.  I believe there is no delays being introduced via the LBC/Memory 
Controller.
- Trying either 'old' or 'new' mode in port_init in USB Core the ISP1761 halts 
on first QTD (of 3) on the first message sent to the internal hub.

For old behaviour, it is sending a SET_ADDRESS request.  This halts.  For new, 
it is first sending out a request.  This halts.

When it halts, there is no Xerr or Babble set.  As far as I can determine this 
may happen if the device (internal hub) doesn't like the command.

Here are the two respective commands it halts on... I believe they are present 
in Shared Mem for the ISP1761 and valid USB2.0 control messages... (big endian 
display)...

USB_REQ_GET_DESCRIPTOR - 0x80060001 0x00004000
USB_REQ_SET_ADDRESS - 0x00050200 0x00000000 

a) Does anyone know why the internal hub would be refusing these messages... 
and stalling?  
b) Does anyone believe this is related to changes between 2.6.9 and 2.6.14?  
c) Does anyone have any recommendations on where to start checking from a 
platform-specific configuration perspective?
d) Does anyone know of a PPC implementation on any version of linux 2.6.9 or 
newer?
e) Can you attached a USB Bus Analyser to the external ports of the hub and see 
USB Bus activity of the Internal Hub to Host Controller?

Thanks!
Mike.

NEW style Device discovery:
-----------------------------------------------------------------------------
usb 1-1: New high speed USB device (0xc247b800) using "ISP1761" driver has been 
given device-address 2 on USB Bus (retry_counter: 0)
drivers/usb/core/hub.c: [0/3] usb_ctrl_msg to dev(0xc247b800) to find MaxPktSize
(usb_control_msg) Usb Control Request... value:256 index:0 size:64
  Dir: 0 Recp: 0 ReqType: USB_TYPE_STANDARD USB_RECIP_DEVICE 
USB_REQ_GET_DESCRIPTOR
 - req:0x00000006 le:wValue:0x00000001 le:wIndex:0x00000000 
le:wLength:0x00004000
PEHCI_CHECK: qtd at mapLoc: 1 is being scheduled c2477a80, device 2,map 1
pehci_hcd_dump_qha : (pehci_hcd_schedule_pending_ptds) ---------------------
td_info1 (DW0):0x21000041
 V: 1   NrBytesToTrans : 00000008  MaxPacketLength: 00000064  Multi: 1
td_info2 (DW1):0x00000000
 Split: 0000    TransType :0000       Token :0000  DevAddr:0000  EP:0000
td_info3 (DW2):0x1e018000
 RL             : 15 
 Data Start Addr: 0x00000180 (0x00001000)
td_info4 (DW3):0x82780000
 Active :0001     Halt   :0000     Babble :0000     XactErr:0000
 DToggle:0001     Cerr   :0000     NakCnt :0015     NrB Tx :0000
----------------------------------
ISP1761 Register Dump...
   - HC_CHIP_ID_REG (0x0304)        : 0x00011761 (=0x00011761)
   - HC_HW_MODE_REG (0x0300)        : 0x00000107
   - HC_USBCMD_REG (0x0020)         : 0x00000001
   - HC_USBSTS_REG (0x0024)         : 0x00000004
   - HC_CONFIGFLAG_REG (0x0060)     : 0x00000001
   - HC_PORTSC1_REG  (0x0064)       : 0x00001005
   - HC_INTERRUPT_REG_EHCI (0x0028) : 0x00000000
   - HC_FRINDEX_REG (0x002c)        : 0x00001fd7
   - HC_INTERRUPT_REG (0x0310)      : 0x00000053
   - HC_INTENABLE_REG (0x0314)      : 0x00000002
   - HC_DMACONFIG_REG (0x0330)      : 0x00000000
   - HC_TRANS_COUNT_REG (0x0334)    : 0x00000000
   - HC_BUFFER_STAT_REG (0x0338)    : 0x00000000
   - HC_MEM_READ_REG (0x033c)       : 0x00000000
   - OTG_CTRL_REG  (0x0374)         : 0x04800480
----------------------------------
 Dumping ISP1761 Shared Memory Region from 0x00000ff0 for 64 bytes (BE 
format)...
  0x00000ff0: 0x00000000 0x00000000 0x00000000 0x00000000
->0x00001000: 0x00000000 0x00000000 0x00000000 0x00000000
  0x00001010: 0x00000000 0x00000000 0x00000000 0x00000000
  0x00001020: 0x00000000 0x00000000 0x00000000 0x00000000
----------------------------------
  dev(0xc0359c80) - Writing QHA Header(0xc0c416c0) to ISP1761 0xc00...
 Dumping ISP1761 Shared Memory Region from 0x00000bf0 for 64 bytes (BE 
format)...
  0x00000bf0: 0x00000000 0x00000000 0x00000000 0x00000000
->0x00000c00: 0x21000041 0x00000000 0x1e018000 0x82780000
  0x00000c10: 0x00000000 0x00000000 0x00000000 0x00000000
  0x00000c20: 0x00000000 0x00000000 0x00000000 0x00000000
----------------------------------
 Dumping ISP1761 Shared Memory Region from 0x00000ff0 for 64 bytes (BE 
format)...
  0x00000ff0: 0x00000000 0x00000000 0x00000000 0x00000000
->0x00001000: 0x80060001 0x00004000 0x00000000 0x00000000
  0x00001010: 0x00000000 0x00000000 0x00000000 0x00000000
  0x00001020: 0x00000000 0x00000000 0x00000000 0x00000000
----------------------------------
PEHCI_CHECK: QTD read from ISP1761 @ 0x00000c00
             Pending map: 0x00000000, donemap 0x00000001, tempskipmap 0x00000000
PEHCI_CHECK: skip:0xffffffff done:0x00000001 maps updated
drivers/usb/pehcd/host/pehci.c: PEHCI (ISP1761: ptdstatus:42780000 - 
PTD_STATUS_HALTED - locIdx:2
PEHCI_CHECK: protocol error
 QHA (PTD Hdr Dump) after error-status check (0x00000c00)...
pehci_hcd_dump_qha : (pehci_hcd_atl_worker) ---------------------
td_info1 (DW0):0x21000040
 V: 0   NrBytesToTrans : 00000008  MaxPacketLength: 00000064  Multi: 1
td_info2 (DW1):0x00000000
 Split: 0000    TransType :0000       Token :0000  DevAddr:0000  EP:0000
td_info3 (DW2):0x1e018000
 RL             : 15 
 Data Start Addr: 0x00000180 (0x00001000)
td_info4 (DW3):0x42780000
 Active :0000     Halt   :0001     Babble :0000     XactErr:0000
 DToggle:0001     Cerr   :0000     NakCnt :0015     NrB Tx :0000
----------------------------------
ISP1761 Register Dump...
   - HC_CHIP_ID_REG (0x0304)        : 0x00011761 (=0x00011761)
   - HC_HW_MODE_REG (0x0300)        : 0x00000107
   - HC_USBCMD_REG (0x0020)         : 0x00000001
   - HC_USBSTS_REG (0x0024)         : 0x0000000c
   - HC_CONFIGFLAG_REG (0x0060)     : 0x00000001
   - HC_PORTSC1_REG  (0x0064)       : 0x00001005
   - HC_INTERRUPT_REG_EHCI (0x0028) : 0x00000000
   - HC_FRINDEX_REG (0x002c)        : 0x000027f9
   - HC_INTERRUPT_REG (0x0310)      : 0x00000153
   - HC_INTENABLE_REG (0x0314)      : 0x00000002
   - HC_DMACONFIG_REG (0x0330)      : 0x00000000
   - HC_TRANS_COUNT_REG (0x0334)    : 0x00000001
   - HC_BUFFER_STAT_REG (0x0338)    : 0x00000000
   - HC_MEM_READ_REG (0x033c)       : 0x00000c00
   - OTG_CTRL_REG  (0x0374)         : 0x04800480
----------------------------------
 Dumping ISP1761 Shared Memory Region from 0x00000ff0 for 64 bytes (BE 
format)...
  0x00000ff0: 0x00000000 0x00000000 0x00000000 0x00000000
->0x00001000: 0x80060001 0x00004000 0x00000000 0x00000000
  0x00001010: 0x00000000 0x00000000 0x00000000 0x00000000
  0x00001020: 0x00000000 0x00000000 0x00000000 0x00000000
----------------------------------
complete the td , length: 8








OLD style Device discovery:
-----------------------------------------------------------------------------
usb 1-1: New high speed USB device (0xc247b800) using "ISP1761" driver has been 
given device-address 2 on USB Bus (retry_counter: 0)
(usb_control_msg) Usb Control Request... value:2 index:0 size:0
  Dir: 0 Recp: 0 ReqType: USB_TYPE_STANDARD USB_RECIP_DEVICE USB_REQ_SET_ADDRESS
 - req:0x00000005 le:wValue:0x00000200 le:wIndex:0x00000000 
le:wLength:0x00000000
PEHCI_CHECK: qtd at mapLoc: 1 is being scheduled c2477a80, device 2,map 1
pehci_hcd_dump_qha : (pehci_hcd_schedule_pending_ptds) ---------------------
td_info1 (DW0):0x21000041
 V: 1   NrBytesToTrans : 00000008  MaxPacketLength: 00000064  Multi: 1
td_info2 (DW1):0x00000000
 Split: 0000    TransType :0000       Token :0000  DevAddr:0000  EP:0000
td_info3 (DW2):0x1e018000
 RL             : 15 
 Data Start Addr: 0x00000180 (0x00001000)
td_info4 (DW3):0x82780000
 Active :0001     Halt   :0000     Babble :0000     XactErr:0000
 DToggle:0001     Cerr   :0000     NakCnt :0015     NrB Tx :0000
----------------------------------
ISP1761 Register Dump...
   - HC_CHIP_ID_REG (0x0304)        : 0x00011761 (=0x00011761)
   - HC_HW_MODE_REG (0x0300)        : 0x00000107
   - HC_USBCMD_REG (0x0020)         : 0x00000001
   - HC_USBSTS_REG (0x0024)         : 0x00000004
   - HC_CONFIGFLAG_REG (0x0060)     : 0x00000001
   - HC_PORTSC1_REG  (0x0064)       : 0x00001005
   - HC_INTERRUPT_REG_EHCI (0x0028) : 0x00000000
   - HC_FRINDEX_REG (0x002c)        : 0x00001f97
   - HC_INTERRUPT_REG (0x0310)      : 0x00000053
   - HC_INTENABLE_REG (0x0314)      : 0x00000002
   - HC_DMACONFIG_REG (0x0330)      : 0x00000000
   - HC_TRANS_COUNT_REG (0x0334)    : 0x00000000
   - HC_BUFFER_STAT_REG (0x0338)    : 0x00000000
   - HC_MEM_READ_REG (0x033c)       : 0x00000000
   - OTG_CTRL_REG  (0x0374)         : 0x04800480
----------------------------------
 Dumping ISP1761 Shared Memory Region from 0x00000ff0 for 64 bytes (BE 
format)...
  0x00000ff0: 0x00000000 0x00000000 0x00000000 0x00000000
->0x00001000: 0x00000000 0x00000000 0x00000000 0x00000000
  0x00001010: 0x00000000 0x00000000 0x00000000 0x00000000
  0x00001020: 0x00000000 0x00000000 0x00000000 0x00000000
----------------------------------
  dev(0xc0359c80) - Writing QHA Header(0xc0c41690) to ISP1761 0xc00...
 Dumping ISP1761 Shared Memory Region from 0x00000bf0 for 64 bytes (BE 
format)...
  0x00000bf0: 0x00000000 0x00000000 0x00000000 0x00000000
->0x00000c00: 0x21000041 0x00000000 0x1e018000 0x82780000
  0x00000c10: 0x00000000 0x00000000 0x00000000 0x00000000
  0x00000c20: 0x00000000 0x00000000 0x00000000 0x00000000
----------------------------------
 Dumping ISP1761 Shared Memory Region from 0x00000ff0 for 64 bytes (BE 
format)...
  0x00000ff0: 0x00000000 0x00000000 0x00000000 0x00000000
->0x00001000: 0x00050200 0x00000000 0x00000000 0x00000000
  0x00001010: 0x00000000 0x00000000 0x00000000 0x00000000
  0x00001020: 0x00000000 0x00000000 0x00000000 0x00000000
----------------------------------
PEHCI_CHECK: QTD read from ISP1761 @ 0x00000c00
             Pending map: 0x00000000, donemap 0x00000001, tempskipmap 0x00000000
PEHCI_CHECK: skip:0xffffffff done:0x00000001 maps updated
drivers/usb/pehcd/host/pehci.c: PEHCI (ISP1761: ptdstatus:42780000 - 
PTD_STATUS_HALTED - locIdx:2

PEHCI_CHECK: protocol error
 QHA (PTD Hdr Dump) after error-status check (0x00000c00)...
pehci_hcd_dump_qha : (pehci_hcd_atl_worker) ---------------------
td_info1 (DW0):0x21000040
 V: 0   NrBytesToTrans : 00000008  MaxPacketLength: 00000064  Multi: 1
td_info2 (DW1):0x00000000
 Split: 0000    TransType :0000       Token :0000  DevAddr:0000  EP:0000
td_info3 (DW2):0x1e018000
 RL             : 15 
 Data Start Addr: 0x00000180 (0x00001000)
td_info4 (DW3):0x42780000
 Active :0000     Halt   :0001     Babble :0000     XactErr:0000
 DToggle:0001     Cerr   :0000     NakCnt :0015     NrB Tx :0000
----------------------------------
ISP1761 Register Dump...
   - HC_CHIP_ID_REG (0x0304)        : 0x00011761 (=0x00011761)
   - HC_HW_MODE_REG (0x0300)        : 0x00000107
   - HC_USBCMD_REG (0x0020)         : 0x00000001
   - HC_USBSTS_REG (0x0024)         : 0x0000000c
   - HC_CONFIGFLAG_REG (0x0060)     : 0x00000001
   - HC_PORTSC1_REG  (0x0064)       : 0x00001005
   - HC_INTERRUPT_REG_EHCI (0x0028) : 0x00000000
   - HC_FRINDEX_REG (0x002c)        : 0x000027b9
   - HC_INTERRUPT_REG (0x0310)      : 0x00000153
   - HC_INTENABLE_REG (0x0314)      : 0x00000002
   - HC_DMACONFIG_REG (0x0330)      : 0x00000000
   - HC_TRANS_COUNT_REG (0x0334)    : 0x00000001
   - HC_BUFFER_STAT_REG (0x0338)    : 0x00000000
   - HC_MEM_READ_REG (0x033c)       : 0x00000c00
   - OTG_CTRL_REG  (0x0374)         : 0x04800480
----------------------------------
 Dumping ISP1761 Shared Memory Region from 0x00000ff0 for 64 bytes (BE 
format)...
  0x00000ff0: 0x00000000 0x00000000 0x00000000 0x00000000
->0x00001000: 0x00050200 0x00000000 0x00000000 0x00000000
  0x00001010: 0x00000000 0x00000000 0x00000000 0x00000000
  0x00001020: 0x00000000 0x00000000 0x00000000 0x00000000







 
____________________________________________________________________________________
8:00? 8:25? 8:40? Find a flick in no time 
with the Yahoo! Search movie showtime shortcut.
http://tools.search.yahoo.com/shortcuts/#news

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

Reply via email to