* USB : Problem in backporting C67x00 Driver to kernel 2.6.20
@ 2009-06-09 12:45 Childhood Hwang
0 siblings, 0 replies; only message in thread
From: Childhood Hwang @ 2009-06-09 12:45 UTC (permalink / raw)
To: linux-embedded
I am tring to backport C67x00 driver to kernel 2.6.20 right now. But I
can't make it work.
I saw there was some discussion before, and it seem's that those
discussions were the right thing messing me.
I found the discussion in link: http://marc.info/?t=122849175200004&r=1&w=2
But there is no answer how to getover this, just that the problem was
in different status handling for older kernel.
I am quite newest to Linux.
I insert a kernel module that register the platform device for USB,
I think the interrupt works well.
Register code is like that,:
static struct resource c67x00_resources[] = {
[0] = {
.start = 0x80800000,
.end = 0x8080ffff,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = 0,
.end = 0,
.flags = IORESOURCE_IRQ,
},
};
static struct c67x00_platform_data c67x00_data = {
.sie_config = C67X00_SIE1_HOST | C67X00_SIE2_HOST,
.hpi_regstep = 0x02,
};
static struct platform_device c67x00_device = {
.name = "c67x00",
.id = -1,
.num_resources = ARRAY_SIZE(c67x00_resources),
.resource = c67x00_resources,
.dev.platform_data = &c67x00_data,
};
static int __init c67x00_device_reg_init(void)
{
/* printk("<1>Hello module world.\n");
printk("<1>Module parameters were (0x%08x) and \"%s\"\n", myint,
mystr); */
printk("======== Call : c67x00_device_reg_init() ========\n");
/* A non 0 return means init_module failed; module can't be loaded. */
return platform_device_register(&c67x00_device);
}
static void __exit c67x00_device_reg_exit(void)
{
printk(KERN_ALERT "======== Goodbye c67x00_device_reg_exit(). ========\n");
platform_device_unregister(&c67x00_device);
}
module_init(c67x00_device_reg_init);
module_exit(c67x00_device_reg_exit);
And the log list below:
# insmod /lib/modules/kernel/drivers/misc/c67x00_device_reg.ko
======== Call : c67x00_device_reg_init() ========
============ USB driver : Call c67x00_drv_probe() ============
c67x00 c67x00: Cypress C67X00 Host Controller
drivers/usb/core/inode.c: creating file 'devices'
drivers/usb/core/inode.c: creating file '001'
c67x00 c67x00: new USB bus registered, assigned bus number 1
usb usb1: default language 0x0409
usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: Cypress C67X00 Host Controller
usb usb1: Manufacturer: Linux 2.6.20-uc0 c67x00-hcd
usb usb1: SerialNumber: c67x00_sie
usb usb1: usb_probe_device
usb usb1: configuration #1 chosen from 1 choice
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
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
hub 1-0:1.0: standalone hub
hub 1-0:1.0: ganged power switching
hub 1-0:1.0: global over-current protection
hub 1-0:1.0: power on to power good time: 100ms
hub 1-0:1.0: local power source is good
hub 1-0:1.0: no over-current condition exists
hub 1-0:1.0: enabling power on all ports
drivers/usb/core/inode.c: creating file '001'
hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0000
c67x00 c67x00: Cypress C67X00 Host Controller
drivers/usb/core/inode.c: creating file '002'
c67x00 c67x00: new USB bus registered, assigned bus number 2
usb usb2: default language 0x0409
usb usb2: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: Cypress C67X00 Host Controller
usb usb2: Manufacturer: Linux 2.6.20-uc0 c67x00-hcd
usb usb2: SerialNumber: c67x00_sie
usb usb2: usb_probe_device
usb usb2: configuration #1 chosen from 1 choice
usb usb2: adding 2-0:1.0 (config #1, interface 0)
hub 2-0:1.0: usb_probe_interface
hub 2-0:1.0: usb_probe_interface - got id
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
hub 2-0:1.0: standalone hub
hub 2-0:1.0: ganged power switching
hub 2-0:1.0: global over-current protection
hub 2-0:1.0: power on to power good time: 100ms
hub 2-0:1.0: local power source is good
hub 2-0:1.0: no over-current condition exists
hub 2-0:1.0: enabling power on all ports
drivers/usb/core/inode.c: creating file '001'
hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0000
# hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0002
hub 1-0:1.0: port 1, status 0101, change 0001, 12 Mb/s
hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101
c67x00 c67x00: ClearPortFeature (0): C_RESET
usb 1-1: new full speed USB device using c67x00 and address 2
c67x00 c67x00: ClearPortFeature (0): C_RESET
c67x00 c67x00: ### TIMEOUT at 0x0500
c67x00 c67x00: urb: 0x902390cc
c67x00 c67x00: endpoint: 0
c67x00 c67x00: pipeout: 1
c67x00 c67x00: ly_base_addr: 0x0700
c67x00 c67x00: port_length: 0x0008
c67x00 c67x00: pid_ep: 0xd0
c67x00 c67x00: dev_addr: 0x00
c67x00 c67x00: ctrl_reg: 0x01
c67x00 c67x00: status: 0x14
c67x00 c67x00: retry_cnt: 0x00
c67x00 c67x00: residue: 0x00
c67x00 c67x00: next_td_addr: 0x0000
c67x00 c67x00: data:<3>usb 1-1: device not accepting address 2, error -115
c67x00 c67x00: ClearPortFeature (0): C_RESET
usb 1-1: new full speed USB device using c67x00 and address 3
c67x00 c67x00: ClearPortFeature (0): C_RESET
c67x00 c67x00: ### TIMEOUT at 0x0500
c67x00 c67x00: urb: 0x902390cc
c67x00 c67x00: endpoint: 0
c67x00 c67x00: pipeout: 1
c67x00 c67x00: ly_base_addr: 0x0700
c67x00 c67x00: port_length: 0x0008
c67x00 c67x00: pid_ep: 0xd0
c67x00 c67x00: dev_addr: 0x00
c67x00 c67x00: ctrl_reg: 0x01
c67x00 c67x00: status: 0x14
c67x00 c67x00: retry_cnt: 0x00
c67x00 c67x00: residue: 0x00
c67x00 c67x00: next_td_addr: 0x0000
c67x00 c67x00: data:<3>usb 1-1: device not accepting address 3, error -115
c67x00 c67x00: ClearPortFeature (0): C_RESET
usb 1-1: new full speed USB device using c67x00 and address 4
c67x00 c67x00: ### TIMEOUT at 0x0500
c67x00 c67x00: urb: 0x902390cc
c67x00 c67x00: endpoint: 0
c67x00 c67x00: pipeout: 1
c67x00 c67x00: ly_base_addr: 0x0700
c67x00 c67x00: port_length: 0x0008
c67x00 c67x00: pid_ep: 0xd0
c67x00 c67x00: dev_addr: 0x00
c67x00 c67x00: ctrl_reg: 0x01
c67x00 c67x00: status: 0x14
c67x00 c67x00: retry_cnt: 0x00
c67x00 c67x00: residue: 0x00
c67x00 c67x00: next_td_addr: 0x0000
c67x00 c67x00: data:<3>usb 1-1: device not accepting address 4, error -115
c67x00 c67x00: ClearPortFeature (0): C_RESET
usb 1-1: new full speed USB device using c67x00 and address 5
c67x00 c67x00: ### TIMEOUT at 0x0500
c67x00 c67x00: urb: 0x902390cc
c67x00 c67x00: endpoint: 0
c67x00 c67x00: pipeout: 1
c67x00 c67x00: ly_base_addr: 0x0700
c67x00 c67x00: port_length: 0x0008
c67x00 c67x00: pid_ep: 0xd0
c67x00 c67x00: dev_addr: 0x00
c67x00 c67x00: ctrl_reg: 0x01
c67x00 c67x00: status: 0x14
c67x00 c67x00: retry_cnt: 0x00
c67x00 c67x00: residue: 0x00
c67x00 c67x00: next_td_addr: 0x0000
c67x00 c67x00: data:<3>usb 1-1: device not accepting address 5, error -115
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-06-09 12:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-09 12:45 USB : Problem in backporting C67x00 Driver to kernel 2.6.20 Childhood Hwang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).