On Tue, Jul 14, 2009 at 11:05:58AM +0200, javier Martin wrote: > 2009/7/14 Daniel Mack <daniel@xxxxxxxx>: > > The platform_driver's probe function is also called. Set a breakpoint at > > ehci_mxc_drv_probe(), the real crash must be there or in one the > > functions called. > > > Yeah, you are right, the hierarchy is as follows: > > ehci_mxc_setup() -> ehci_reset() -> ehci_hub_control() > > In "ehci_hub_control" it crashes in the following "ehci_readl": > > case USB_PORT_FEAT_POWER: > if (HCS_PPC (ehci->hcs_params)) > ehci_writel(ehci, > temp & ~(PORT_RWC_BITS | PORT_POWER), > status_reg); > break; > > Where "status_reg" is 0xc4846184, it seems this is a wrong value > because base address of USB in i.mx27 is 0x10024000. > What do you think? All addresses are passed in via platform data resources, reusability is the idea behind this driver model. Hence I suggest you go check the mx27 specific device data allocations and make sure the register spaces are correct. Daniel -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html