source: trunk/target/linux/ar71xx/patches-3.3/134-MIPS-ath79-add-USB-platform-setup-code-for-AR934X.patch @ 31602

Last change on this file since 31602 was 31602, checked in by juhosg, 5 years ago

ar71xx: update 3.3 patches

File size: 2.2 KB
  • arch/mips/ath79/dev-usb.c

    From 635d5a2ac8aa483c3a0635c60bff8ea8978ff6a7 Mon Sep 17 00:00:00 2001
    From: Gabor Juhos <juhosg@openwrt.org>
    Date: Sun, 11 Dec 2011 18:34:13 +0100
    Subject: [PATCH 39/47] MIPS: ath79: add USB platform setup code for AR934X
    
    Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
    ---
     arch/mips/ath79/dev-usb.c                      |   28 ++++++++++++++++++++++++
     arch/mips/include/asm/mach-ath79/ar71xx_regs.h |    7 ++++++
     2 files changed, 35 insertions(+), 0 deletions(-)
    
    a b static void __init ar933x_usb_setup(void 
    193193        platform_device_register(&ath79_ehci_device); 
    194194} 
    195195 
     196static void __init ar934x_usb_setup(void) 
     197{ 
     198        u32 bootstrap; 
     199 
     200        bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP); 
     201        if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE) 
     202                return; 
     203 
     204        ath79_device_reset_set(AR934X_RESET_USBSUS_OVERRIDE); 
     205        udelay(1000); 
     206 
     207        ath79_device_reset_clear(AR934X_RESET_USB_PHY); 
     208        udelay(1000); 
     209 
     210        ath79_device_reset_clear(AR934X_RESET_USB_PHY_ANALOG); 
     211        udelay(1000); 
     212 
     213        ath79_device_reset_clear(AR934X_RESET_USB_HOST); 
     214        udelay(1000); 
     215 
     216        ath79_usb_init_resource(ath79_ehci_resources, AR934X_EHCI_BASE, 
     217                                AR934X_EHCI_SIZE, ATH79_CPU_IRQ_USB); 
     218        ath79_ehci_device.dev.platform_data = &ath79_ehci_pdata_v2; 
     219        platform_device_register(&ath79_ehci_device); 
     220} 
     221 
    196222void __init ath79_register_usb(void) 
    197223{ 
    198224        if (soc_is_ar71xx()) 
    void __init ath79_register_usb(void) 
    205231                ar913x_usb_setup(); 
    206232        else if (soc_is_ar933x()) 
    207233                ar933x_usb_setup(); 
     234        else if (soc_is_ar934x()) 
     235                ar934x_usb_setup(); 
    208236        else 
    209237                BUG(); 
    210238} 
  • arch/mips/include/asm/mach-ath79/ar71xx_regs.h

    a b  
    6363 
    6464#define AR934X_WMAC_BASE        (AR71XX_APB_BASE + 0x00100000) 
    6565#define AR934X_WMAC_SIZE        0x20000 
     66#define AR934X_EHCI_BASE        0x1b000000 
     67#define AR934X_EHCI_SIZE        0x1000 
    6668 
    6769/* 
    6870 * DDR_CTRL block 
     
    288290#define AR933X_RESET_USB_PHY            BIT(4) 
    289291#define AR933X_RESET_USBSUS_OVERRIDE    BIT(3) 
    290292 
     293#define AR934X_RESET_USB_PHY_ANALOG     BIT(11) 
     294#define AR934X_RESET_USB_HOST           BIT(5) 
     295#define AR934X_RESET_USB_PHY            BIT(4) 
     296#define AR934X_RESET_USBSUS_OVERRIDE    BIT(3) 
     297 
    291298#define AR933X_BOOTSTRAP_REF_CLK_40     BIT(0) 
    292299 
    293300#define AR934X_BOOTSTRAP_SW_OPTION8     BIT(23) 
Note: See TracBrowser for help on using the repository browser.