Hello,
I get m8xxhci.c last release form Brad
Parker's page
http://www.heeltoe.com/usb/ppc <http://www.heeltoe.com/usb/ppc> and I
have
modificated to use on the MPC823 FADS board. This drivers has also
Roman
Weissgaerber changes.
I have done the following
modifications:
1.- At the begin of the file:
#ifdef CONFIG_MYBOARD
#define
USE_PA5_CLK3_USBCLK
/* 48mhz clock via clk3 */
#define
USE_TIMER1_FOR_SOF
#endif
2.-I have loaded the microcode patch.
3.-I put
TIMER 1 output (PA6) in the DRQ0 input and connect it to
PC15
After booting Linux I have the following mesages:
........
m8xxhci: initializing
controller
m8xxhci_setup()
usb.c: new USB bus registered, assigned bus
number 1
m8xxhci_start_controller()
m8xxhci: USING CLK2 for USB
clock!
m8xxhci: ring sizes: rx 60, tx 10
size 0x18 index 0xa00
size
0x1e0 index 0xa38
size 0x50 index 0xc20
PQUCODE: USB SOF patch
installed
m8xxhci: enable USB controller
m8xxhci_timer_setup()
m8xxhci:
timer bytes/count 0.25
m8xxhci: USING TIMER1 FOR SOF!
m8xxhci: timer1
started
m8xxhci: usb bus is NOT idle
Product: USB MPC8xx Root
Hub
SerialNumber: ff000a00
hub.c: USB hub found
hub.c: 1 port
detected
rh_submit_urb() int pipe
rh_port_power(1)
m8xxhci:
initializing done
and when i connect a device
............
idle_bus() 1; d+ zero, d- one, connect
lo-sp
rh_port_reset(1)
hub.c: new USB device m8xxhci-1, assigned address
2
usb_control/bulk_msg: timeout
unlink_urb(urb=c0552f50,qtype=2) status
-115
unlink_urb(urb=c0552f50) done
usb.c: USB device not accepting new
address=2
(error=-110)
m8xxhci_free_dev(usb_dev=c049d600)
m8xxhci_free_dev(dev=c049d600)
done
rh_port_reset(1)
hub.c: new USB device m8xxhci-1, assigned address
3
usb_control/bulk_msg: timeout
unlink_urb(urb=c0552f50,qtype=2) status
-115
unlink_urb(urb=c0552f50) done
usb.c: USB device not accepting new
address=3
(error=-110)
m8xxhci_free_dev(usb_dev=c049d600)
m8xxhci_free_dev(dev=c049d600)
done
rh_port_enable(0)
..............
may i ask you a
few questions about m8xxhci.c driver :
1) what
do the define POLL_FOR_HUB stands for and should i use it
?
2) is it correct to include hcd.o + hub.o + usb.o + usb-debug.o
to make
usbdrv.o in the kernel ?
3)Is the behavior of the driver correct according to the trace above if
no
data goes out of MPC885 USB pins ? What can prevent data to go out
?
4) is it correct to include your driver in the kernel ? (and not run it
as
an external module) ?
5) i try this driver with SOF generated by
micro-patch :
-> should this SOF automaticaly sent on the PPC usb tx data
line as soon as
a device is connected ?
-> when you plug a usb device
(keyboard) what is the first thing the driver
must do ? send a setup command
? (I try to see when you write this command
in a BD but i can't find it
)
6) can this driver drive mass storage device (selected by
CONFIG_USB_STORAGE
kernel parameter) ?
76) when we use USB_UPATCH
how do behave the CPM ? does it generate SOF
continuously ? how do we tell
the CPM to start or stop the SOF transmission
?
Thank you very much for any reply
Best regards