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:
Ian Lepore 2017-02-12 00:52:22 +00:00
parent f59f9337b6
commit 8148f4f3d5
2 changed files with 6 additions and 1 deletions

View File

@ -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);

View File

@ -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) {