summaryrefslogtreecommitdiffstats
path: root/sys/mips
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2011-03-27 08:32:47 +0000
committeradrian <adrian@FreeBSD.org>2011-03-27 08:32:47 +0000
commited6776603dc7dc939c7be2a36eb796773985d011 (patch)
tree81e2dcb6ed96d52285e58907afb71dd42dc1fda0 /sys/mips
parent5690821f7a110581f38a53d5df8d99dc3acfd2ca (diff)
downloadFreeBSD-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.c14
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);
OpenPOWER on IntegriCloud