ar71xx: add AR933x specific USB setup function

SVN-Revision: 28276
master
Gabor Juhos 13 years ago
parent 91340d8af7
commit d3617ac7d3
  1. 24
      target/linux/ar71xx/files/arch/mips/ar71xx/dev-usb.c
  2. 3
      target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h

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

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

Loading…
Cancel
Save