Changeset 27083


Ignore:
Timestamp:
2011-06-01T15:12:30+02:00 (7 years ago)
Author:
juhosg
Message:

ar71xx: init external_reset for AR933X

Location:
trunk/target/linux/ar71xx/files/arch/mips
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ar9xxx-wmac.c

    r27081 r27083  
    6969} 
    7070 
     71static int ar933x_wmac_reset(void) 
     72{ 
     73        unsigned retries = 0; 
     74 
     75        ar71xx_device_stop(AR933X_RESET_WMAC); 
     76        ar71xx_device_start(AR933X_RESET_WMAC); 
     77 
     78        while (1) { 
     79                u32 bootstrap; 
     80 
     81                bootstrap = ar71xx_reset_rr(AR933X_RESET_REG_BOOTSTRAP); 
     82                if ((bootstrap & AR933X_BOOTSTRAP_EEPBUSY) == 0) 
     83                        return 0; 
     84 
     85                if (retries > 20) 
     86                        break; 
     87 
     88                udelay(10000); 
     89                retries++; 
     90        } 
     91 
     92        pr_err("ar93xx: WMAC reset timed out"); 
     93        return -ETIMEDOUT; 
     94} 
     95 
    7196static void ar933x_wmac_init(void) 
    7297{ 
     
    79104        if (ar71xx_soc_rev == 1) 
    80105                ar9xxx_wmac_data.get_mac_revision = ar933x_r1_get_wmac_revision; 
     106 
     107        ar9xxx_wmac_data.external_reset = ar933x_wmac_reset; 
     108 
     109        ar933x_wmac_reset(); 
    81110} 
    82111 
  • trunk/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h

    r27079 r27083  
    610610#define AR933X_RESET_REG_RESET_MODULE           0x1c 
    611611#define AR933X_RESET_REG_BOOTSTRAP              0xac 
     612#define AR933X_BOOTSTRAP_EEPBUSY                BIT(4) 
    612613#define AR933X_BOOTSTRAP_REF_CLK_40             BIT(0) 
    613614 
     
    673674#define AR724X_RESET_USBSUS_OVERRIDE    BIT(3) 
    674675 
     676#define AR933X_RESET_WMAC               BIT(11) 
    675677#define AR933X_RESET_GE1_MDIO           BIT(23) 
    676678#define AR933X_RESET_GE0_MDIO           BIT(22) 
Note: See TracChangeset for help on using the changeset viewer.