ar71xx: add AR933x specific glue for ar71xx_device{start,stop}

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27061 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Gabor Juhos 2011-05-31 22:53:35 +00:00
parent 9a2d89381e
commit ec8c1d39e1
2 changed files with 24 additions and 0 deletions

View File

@ -71,6 +71,14 @@ void ar71xx_device_stop(u32 mask)
spin_unlock_irqrestore(&ar71xx_device_lock, flags);
break;
case AR71XX_SOC_AR9330:
case AR71XX_SOC_AR9331:
spin_lock_irqsave(&ar71xx_device_lock, flags);
t = ar71xx_reset_rr(AR933X_RESET_REG_RESET_MODULE);
ar71xx_reset_wr(AR933X_RESET_REG_RESET_MODULE, t | mask);
spin_unlock_irqrestore(&ar71xx_device_lock, flags);
break;
case AR71XX_SOC_AR9341:
case AR71XX_SOC_AR9342:
case AR71XX_SOC_AR9344:
@ -122,6 +130,14 @@ void ar71xx_device_start(u32 mask)
spin_unlock_irqrestore(&ar71xx_device_lock, flags);
break;
case AR71XX_SOC_AR9330:
case AR71XX_SOC_AR9331:
spin_lock_irqsave(&ar71xx_device_lock, flags);
t = ar71xx_reset_rr(AR933X_RESET_REG_RESET_MODULE);
ar71xx_reset_wr(AR933X_RESET_REG_RESET_MODULE, t & ~mask);
spin_unlock_irqrestore(&ar71xx_device_lock, flags);
break;
case AR71XX_SOC_AR9341:
case AR71XX_SOC_AR9342:
case AR71XX_SOC_AR9344:
@ -166,6 +182,13 @@ int ar71xx_device_stopped(u32 mask)
spin_unlock_irqrestore(&ar71xx_device_lock, flags);
break;
case AR71XX_SOC_AR9330:
case AR71XX_SOC_AR9331:
spin_lock_irqsave(&ar71xx_device_lock, flags);
t = ar71xx_reset_rr(AR933X_RESET_REG_RESET_MODULE);
spin_unlock_irqrestore(&ar71xx_device_lock, flags);
break;
case AR71XX_SOC_AR9341:
case AR71XX_SOC_AR9342:
case AR71XX_SOC_AR9344:

View File

@ -604,6 +604,7 @@ void ar71xx_ddr_flush(u32 reg);
#define AR724X_RESET_REG_RESET_MODULE 0x1c
#define AR933X_RESET_REG_RESET_MODULE 0x1c
#define AR933X_RESET_REG_BOOTSTRAP 0xac
#define AR933X_BOOTSTRAP_REF_CLK_40 BIT(0)