Hello all,
What "magic" setup do I need to enable mxc-ehci.0 as a host controller?
I pulled git://git.pengutronix.de/git/imx/linux-2.6.git and have the
imx-for-2.6.37 branch compiled and booting, but I get this:
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
mxc-ehci mxc-ehci.1: initializing i.MX USB Controller
mxc-ehci mxc-ehci.1: Freescale On-Chip EHCI Host Controller
mxc-ehci mxc-ehci.1: new USB bus registered, assigned bus number 1
mxc-ehci mxc-ehci.1: irq 35, io mem 0x53ff4400
mxc-ehci mxc-ehci.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
It appears mxc-ehci.1 is working but I don't have that port on my board.
This is using the mach-mx35_3ds.c board configuration.
Thanks,
Hartley
On Monday, August 23, 2010 4:45 PM, H Hartley Sweeten wrote:
Hello all,
What "magic" setup do I need to enable mxc-ehci.0 as a host controller?
I pulled git://git.pengutronix.de/git/imx/linux-2.6.git and have the
imx-for-2.6.37 branch compiled and booting, but I get this:
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
mxc-ehci mxc-ehci.1: initializing i.MX USB Controller
mxc-ehci mxc-ehci.1: Freescale On-Chip EHCI Host Controller
mxc-ehci mxc-ehci.1: new USB bus registered, assigned bus number 1
mxc-ehci mxc-ehci.1: irq 35, io mem 0x53ff4400
mxc-ehci mxc-ehci.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
It appears mxc-ehci.1 is working but I don't have that port on my board.
This is using the mach-mx35_3ds.c board configuration.
Well, I think I'm closer...
I removed the OTG platform data and the register of the mxc_otg_udc_device
from mach-mx35_3ds.c. I replaced them with the following:
static struct mxc_usbh_platform_data usb_otg_host_pdata = {
.portsc = MXC_EHCI_MODE_SERIAL,
.flags = MXC_EHCI_INTERFACE_SINGLE_UNI |
MXC_EHCI_INTERNAL_PHY,
};
mxc_register_device(&mxc_otg_host, &usb_otg_host_pdata);
Now when the board boots I get:
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
mxc-ehci mxc-ehci.0: initializing i.MX USB Controller
mxc-ehci mxc-ehci.0: Freescale On-Chip EHCI Host Controller
mxc-ehci mxc-ehci.0: new USB bus registered, assigned bus number 1
mxc-ehci mxc-ehci.0: irq 37, io mem 0x53ff4000
mxc-ehci mxc-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
mxc-ehci mxc-ehci.1: initializing i.MX USB Controller
mxc-ehci mxc-ehci.1: Freescale On-Chip EHCI Host Controller
mxc-ehci mxc-ehci.1: new USB bus registered, assigned bus number 2
mxc-ehci mxc-ehci.1: irq 35, io mem 0x53ff4400
mxc-ehci mxc-ehci.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
But then later I get:
usb 1-1: new full speed USB device using mxc-ehci and address 2
usb 1-1: device descriptor read/64, error -71
usb 1-1: device descriptor read/64, error -71
usb 1-1: new full speed USB device using mxc-ehci and address 3
usb 1-1: device descriptor read/64, error -71
usb 1-1: device descriptor read/64, error -71
usb 1-1: new full speed USB device using mxc-ehci and address 4
usb 1-1: device not accepting address 4, error -71
usb 1-1: new full speed USB device using mxc-ehci and address 5
usb 1-1: device not accepting address 5, error -71
hub 1-0:1.0: unable to enumerate USB device on port 1
On Mon, Aug 23, 2010 at 07:28:09PM -0500, H Hartley Sweeten wrote:
On Monday, August 23, 2010 4:45 PM, H Hartley Sweeten wrote:
quoted
Hello all,
What "magic" setup do I need to enable mxc-ehci.0 as a host controller?
I pulled git://git.pengutronix.de/git/imx/linux-2.6.git and have the
imx-for-2.6.37 branch compiled and booting, but I get this:
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
mxc-ehci mxc-ehci.1: initializing i.MX USB Controller
mxc-ehci mxc-ehci.1: Freescale On-Chip EHCI Host Controller
mxc-ehci mxc-ehci.1: new USB bus registered, assigned bus number 1
mxc-ehci mxc-ehci.1: irq 35, io mem 0x53ff4400
mxc-ehci mxc-ehci.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
It appears mxc-ehci.1 is working but I don't have that port on my board.
This is using the mach-mx35_3ds.c board configuration.
Well, I think I'm closer...
I removed the OTG platform data and the register of the mxc_otg_udc_device
from mach-mx35_3ds.c. I replaced them with the following:
static struct mxc_usbh_platform_data usb_otg_host_pdata = {
.portsc = MXC_EHCI_MODE_SERIAL,
.flags = MXC_EHCI_INTERFACE_SINGLE_UNI |
MXC_EHCI_INTERNAL_PHY,
};
This must match your hardware. The i.MX35 has a UTMI phy connected to
the otg core, INTERFACE_SINGLE_UNI seems wrong here. I don't know your
hardware, it may also be that you have an external ULPI phy connected.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |