SecretLab 2.6.24 with USB
Peter Korsgaard
jacmet at sunsite.dk
Thu Apr 24 01:12:59 EST 2008
>>>>> "Aaron" == Aaron Sells <aaron.sells at zin-tech.com> writes:
Hi,
Aaron> root at xilinx-ml403:/# dmesg | grep -i usb
Aaron> [ 0.175963] usbcore: registered new interface driver usbfs
Aaron> [ 0.178207] usbcore: registered new interface driver hub
Aaron> [ 0.179810] usbcore: registered new device driver usb
Aaron> [ 3.426016] usbcore: registered new interface driver ub
Aaron> [ 4.156086] usbmon: debugfs is not available
Aaron> [ 4.209160] Initializing USB Mass Storage driver...
Aaron> [ 4.268302] usbcore: registered new interface driver usb-storage
Aaron> [ 4.336109] USB Mass Storage support registered.
Aaron> [ 4.958294] usbcore: registered new interface driver usbhid
Aaron> [ 5.020120] drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
Yes, the USB core and drivers gets loaded, but because you haven't
provided a struct platform_device the c67x00 driver doesn't get
probed.
Aaron> It still doesn't look like the ML403 Cypress host device is being
Aaron> recognized. No messages appear upon insertion and removal of USB
Aaron> devices.
Aaron> Regards,
Aaron> Aaron Sells
Aaron> diff linux-2.6-xlnx_arch-ppc-syslib-virtex_devices.c secretlab_arch-ppc-syslib-virtex_devices.c
Aaron> 77,92d76
Aaron> < * ML300/ML403 Video Device: shortcut macro for single instance
Please use diff -u.
I don't see anything with platform devices for the c67x00 driver. You
need something like:
#include <linux/usb/c67x00.h>
static struct resource c67x00_resources[] = {
[0] = {
.start = 0x84000000,
.end = 0x8400000f,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = 3,
.end = 3,
.flags = IORESOURCE_IRQ,
},
};
static struct c67x00_platform_data thinlite_c67x00_data = {
.sie_config = C67X00_SIE1_HOST | C67X00_SIE2_PERIPHERAL_B,
.hpi_regstep = 0x02, /* A0 not connected on 16bit bus */
};
static struct platform_device thinlite_c67x00 = {
.name = "c67x00",
.id = 0,
.num_resources = ARRAY_SIZE(c67x00_resources),
.resource = c67x00_resources,
.dev.platform_data = &thinlite_c67x00_data,
};
Which you then register with the platform bus with
platform_add_devices or similar. Either you do this by hand or you
create XPAR_* macros which take the needed info out of xparameter.h
(sorry, I don't have an xparameters.h with those defines at hand).
Aaron> diff -Naur c67x00.old/c67x00-drv.c c67x00/c67x00-drv.c
Aaron> --- c67x00.old/c67x00-drv.c 2008-04-23 10:36:16.000000000 -0400
Aaron> +++ c67x00/c67x00-drv.c 2008-04-23 10:39:20.000000000 -0400
Aaron> @@ -57,8 +57,7 @@
Aaron> c67x00_hcd_probe(sie);
Aaron> break;
Aaron> - case C67X00_SIE_PERIPHERAL_A:
Aaron> - case C67X00_SIE_PERIPHERAL_B:
Aaron> + case C67X00_SIE_PERIPHERAL:
This seems to be from an earlier version of my driver.
--
Bye, Peter Korsgaard
More information about the Linuxppc-embedded
mailing list