ar71xx: add AR934x specific glue for ar7100_device{start,stop}
authorGabor Juhos <juhosg@openwrt.org>
Thu, 7 Apr 2011 20:52:57 +0000 (20:52 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Thu, 7 Apr 2011 20:52:57 +0000 (20:52 +0000)
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>
SVN-Revision: 26512

target/linux/ar71xx/files/arch/mips/ar71xx/ar71xx.c

index ed31274182396414475037975d0305caff239eef..31b4422a095bd0f4a14698138f131ed8a61770e6 100644 (file)
@@ -71,6 +71,15 @@ void ar71xx_device_stop(u32 mask)
                spin_unlock_irqrestore(&ar71xx_device_lock, flags);
                break;
 
+       case AR71XX_SOC_AR9341:
+       case AR71XX_SOC_AR9342:
+       case AR71XX_SOC_AR9344:
+               spin_lock_irqsave(&ar71xx_device_lock, flags);
+               t = ar71xx_reset_rr(AR934X_RESET_REG_RESET_MODULE);
+               ar71xx_reset_wr(AR934X_RESET_REG_RESET_MODULE, t | mask);
+               spin_unlock_irqrestore(&ar71xx_device_lock, flags);
+               break;
+
        default:
                BUG();
        }
@@ -113,6 +122,15 @@ void ar71xx_device_start(u32 mask)
                spin_unlock_irqrestore(&ar71xx_device_lock, flags);
                break;
 
+       case AR71XX_SOC_AR9341:
+       case AR71XX_SOC_AR9342:
+       case AR71XX_SOC_AR9344:
+               spin_lock_irqsave(&ar71xx_device_lock, flags);
+               t = ar71xx_reset_rr(AR934X_RESET_REG_RESET_MODULE);
+               ar71xx_reset_wr(AR934X_RESET_REG_RESET_MODULE, t & ~mask);
+               spin_unlock_irqrestore(&ar71xx_device_lock, flags);
+               break;
+
        default:
                BUG();
        }
@@ -148,6 +166,14 @@ int ar71xx_device_stopped(u32 mask)
                spin_unlock_irqrestore(&ar71xx_device_lock, flags);
                break;
 
+       case AR71XX_SOC_AR9341:
+       case AR71XX_SOC_AR9342:
+       case AR71XX_SOC_AR9344:
+               spin_lock_irqsave(&ar71xx_device_lock, flags);
+               t = ar71xx_reset_rr(AR934X_RESET_REG_RESET_MODULE);
+               spin_unlock_irqrestore(&ar71xx_device_lock, flags);
+               break;
+
        default:
                BUG();
        }