Skip to contentSkip to conversation

MPC8323 USB Host

DISCUSSION spa_kk 2 participants 3 messages Sep 14, 2009 – Sep 15, 2009

lore
Share & tools
lore

spa_kk

author
#0 lore raw

Hello,

This is regarding the MPC8323 in-built USB controller driver, Environment:
LTIB: ltib-mpc832x_rdb-20070507
Linux: linux-2.6.20
In built usb driver is been ported from linux-2.6.30 to linux-2.6.20 (File: drivers/usb/host/fhci-hcd.c is been ported from kernel.org/linux-2.6.30)

Problem description:
File: "drivers/usb/host/fhci-hcd.c "
In this file probe function:
of_fhci_probe(struct of_device *ofdev, const struct of_device_id *ofid) is getting loaded successfully &
FHCI Host Controller, interrupt and timer are getting registered

File:"drivers/usb/host/fhci-hub.c"
In this file function
fhci_hub_status_data(struct usb_hcd *hcd, char *buf)
is been polled continuosly, which is checking for the port change and port status of the our virtual hub using fhci->vroot_hub->port.wPortChange & fhci->vroot_hub->port.wPortStatus

The value in this variable are not getting changed even after connecting & disconnection the device.

We have manual checked the USBRXP pin, this pin is HIGH => when device is connected
LOW => when device is not connected.

Kindly let us know how should we debug/proceed.

Thanks and regards,
Krishna kumar M.S & Arif

Signature · 2 lines
View this message in context: http://www.nabble.com/MPC8323-USB-Host-tp25435195p25435195.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.
#1 lore raw

Hello,

Quoted 2 lines · spa_kk

Hello,

[...]

Quoted 2 lines

The value in this variable are not getting changed even after connecting & disconnection the device.

Could be pins multiplexing or USB clocks misconfiguration.

Quoted 5 lines

We have manual checked the USBRXP pin, this pin is HIGH => when device is connected
LOW => when device is not connected.

Kindly let us know how should we debug/proceed.

You might find this useful:

http://lkml.org/lkml/2009/4/1/481

Signature · 3 lines
Anton Vorontsov
email: [email protected]
irc://irc.freenode.net/bd2
author
#2 lore raw

Hi,
Thanks for the suggestion,
pins & clock configuration seems to be ok,
Need a help in understanding which register of MPC8323 is been mapped to fhci->vroot_hub->port.wPortChange & fhci->vroot_hub->port.wPortStatus
As this are the variable which is been checked while polling

File: "drivers/usb/host/fhci.h"
struct virtual_root_hub {
int dev_num; /* USB address of the root hub */
u32 feature; /* indicates what feature has been set */
struct usb_hub_status hub;
struct usb_port_status port;
};

File: "drivers/usb/core/hub.h"
/*
* Hub Status and Hub Change results
* See USB 2.0 spec Table 11-19 and Table 11-20
*/

struct usb_port_status {
    __le16 wPortStatus;
    __le16 wPortChange;
} __attribute__ ((packed));
struct usb_hub_status {
    __le16 wHubStatus;
    __le16 wHubChange;
} __attribute__ ((packed));

Need support in understand where is virtual_root_hub.hub and virtual_root_hub.port are initialized

Thanks and best regards,
Krishna

Quoted 33 lines · Anton Vorontsov-2 wrote:

Hello,

Quoted 2 lines · spa_kk

Hello,

[...]

Quoted 3 lines

The value in this variable are not getting changed even after connecting &
disconnection the device.

Could be pins multiplexing or USB clocks misconfiguration.

Quoted 5 lines

We have manual checked the USBRXP pin, this pin is HIGH => when device is connected
LOW => when device is not connected.

Kindly let us know how should we debug/proceed.

You might find this useful:

http://lkml.org/lkml/2009/4/1/481

Signature · 7 lines
Anton Vorontsov
email: [email protected]
irc://irc.freenode.net/bd2
_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://lists.ozlabs.org/listinfo/linuxppc-dev
Signature · 2 lines
View this message in context: http://www.nabble.com/MPC8323-USB-Host-tp25435195p25448161.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.