diff options
author | adrian <adrian@FreeBSD.org> | 2011-03-27 08:32:47 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2011-03-27 08:32:47 +0000 |
commit | ed6776603dc7dc939c7be2a36eb796773985d011 (patch) | |
tree | 81e2dcb6ed96d52285e58907afb71dd42dc1fda0 /sys/mips | |
parent | 5690821f7a110581f38a53d5df8d99dc3acfd2ca (diff) | |
download | FreeBSD-src-ed6776603dc7dc939c7be2a36eb796773985d011.zip FreeBSD-src-ed6776603dc7dc939c7be2a36eb796773985d011.tar.gz |
Add some missing flags needed for AR913x/AR724x USB to correctly operate.
The AR913x/AR724x USB lives at a different offset to the AR71xx
USB, so this needs to be either adjusted for in a subsequent
commit, or updated in hints for kernels compiled for those
platforms.
Submitted by: Luiz Otavio O Souzau <loos.br@gmail.com>
Diffstat (limited to 'sys/mips')
-rw-r--r-- | sys/mips/atheros/ar71xx_ehci.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/mips/atheros/ar71xx_ehci.c b/sys/mips/atheros/ar71xx_ehci.c index 936fd35..0ea8a6c 100644 --- a/sys/mips/atheros/ar71xx_ehci.c +++ b/sys/mips/atheros/ar71xx_ehci.c @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include <dev/usb/controller/ehci.h> #include <dev/usb/controller/ehcireg.h> +#include <mips/atheros/ar71xx_setup.h> #include <mips/atheros/ar71xx_bus_space_reversed.h> #define EHCI_HC_DEVSTR "AR71XX Integrated USB 2.0 controller" @@ -192,6 +193,19 @@ ar71xx_ehci_attach(device_t self) * register following a port enable. */ sc->sc_flags = EHCI_SCFLG_SETMODE; + + switch (ar71xx_soc) { + case AR71XX_SOC_AR7241: + case AR71XX_SOC_AR7242: + case AR71XX_SOC_AR9130: + case AR71XX_SOC_AR9132: + sc->sc_flags |= EHCI_SCFLG_TT | EHCI_SCFLG_NORESTERM; + break; + default: + /* fallthrough */ + break; + } + (void) ehci_reset(sc); err = ehci_init(sc); |