Enable usb low and full speed devices connected to the imx6 root hubs.
This enables the PHY circuitry for UTMI+ level 2 and 3, and sets the flag to tell the ehci code that the root hub has a transaction translator in it. For imx6 we can use the standard ehci_get_port_speed_portsc() function to find out what speed device is connected to the port.
This commit is contained in:
parent
f59f9337b6
commit
8148f4f3d5
@ -143,6 +143,10 @@ usbphy_attach(device_t dev)
|
||||
bus_write_4(sc->mem_res, CTRL_SET_REG, CTRL_SFTRST);
|
||||
bus_write_4(sc->mem_res, CTRL_CLR_REG, CTRL_SFTRST | CTRL_CLKGATE);
|
||||
|
||||
/* Set UTMI+ level 2+3 bits to enable low and full speed devices. */
|
||||
bus_write_4(sc->mem_res, CTRL_SET_REG,
|
||||
CTRL_ENUTMILEVEL2 | CTRL_ENUTMILEVEL3);
|
||||
|
||||
/* Power up: clear all bits in the powerdown register. */
|
||||
bus_write_4(sc->mem_res, PWD_REG, 0);
|
||||
|
||||
|
@ -298,8 +298,9 @@ imx_ehci_attach(device_t dev)
|
||||
* Set flags that affect ehci_init() behavior, and hook our post-reset
|
||||
* code into the standard controller code.
|
||||
*/
|
||||
esc->sc_flags |= EHCI_SCFLG_NORESTERM;
|
||||
esc->sc_flags |= EHCI_SCFLG_NORESTERM | EHCI_SCFLG_TT;
|
||||
esc->sc_vendor_post_reset = imx_ehci_post_reset;
|
||||
esc->sc_vendor_get_port_speed = ehci_get_port_speed_portsc;
|
||||
|
||||
err = ehci_init(esc);
|
||||
if (err != 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user