diff options
Diffstat (limited to 'target/linux/ar71xx/files')
| -rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/dev-usb.c | 24 | ||||
| -rw-r--r-- | target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h | 3 | 
2 files changed, 25 insertions, 2 deletions
| diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-usb.c b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-usb.c index 5d72b0c29..f67357132 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-usb.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-usb.c @@ -165,6 +165,23 @@ static void __init ar91xx_usb_setup(void)  	platform_device_register(&ar71xx_ehci_device);  } +static void __init ar933x_usb_setup(void) +{ +	ar71xx_device_reset_rmw(0, AR933X_RESET_USBSUS_OVERRIDE); +	mdelay(10); + +	ar71xx_device_reset_rmw(AR933X_RESET_USB_HOST, +				AR933X_RESET_USBSUS_OVERRIDE); +	mdelay(10); + +	ar71xx_device_reset_rmw(AR933X_RESET_USB_PHY, +				AR933X_RESET_USBSUS_OVERRIDE); +	mdelay(10); + +	ar71xx_ehci_data.is_ar91xx = 1; +	platform_device_register(&ar71xx_ehci_device); +} +  void __init ar71xx_add_device_usb(void)  {  	switch (ar71xx_soc) { @@ -185,14 +202,17 @@ void __init ar71xx_add_device_usb(void)  	case AR71XX_SOC_AR9130:  	case AR71XX_SOC_AR9132: -	case AR71XX_SOC_AR9330: -	case AR71XX_SOC_AR9331:  	case AR71XX_SOC_AR9341:  	case AR71XX_SOC_AR9342:  	case AR71XX_SOC_AR9344:  		ar91xx_usb_setup();  		break; +	case AR71XX_SOC_AR9330: +	case AR71XX_SOC_AR9331: +		ar933x_usb_setup(); +		break; +  	default:  		BUG();  	} diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h index ec5e0bb2b..4a732e2af 100644 --- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h +++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h @@ -678,6 +678,9 @@ void ar71xx_ddr_flush(u32 reg);  #define AR933X_RESET_GE0_MDIO		BIT(22)  #define AR933X_RESET_GE1_MAC		BIT(13)  #define AR933X_RESET_GE0_MAC		BIT(9) +#define AR933X_RESET_USB_HOST		BIT(5) +#define AR933X_RESET_USB_PHY		BIT(4) +#define AR933X_RESET_USBSUS_OVERRIDE	BIT(3)  #define REV_ID_MAJOR_MASK	0xfff0  #define REV_ID_MAJOR_AR71XX	0x00a0 | 
