diff options
author | Felix Fietkau <nbd@openwrt.org> | 2015-01-18 20:17:07 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2015-01-18 20:17:07 +0000 |
commit | 03ea0cf6f18593a587d240d56b473345c035db98 (patch) | |
tree | dad354f0d5bc961ea8c37d22222439924aa49451 /target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c | |
parent | 50588ef192d7141040a4f42902a71312b2a5ee75 (diff) | |
download | upstream-03ea0cf6f18593a587d240d56b473345c035db98.tar.gz upstream-03ea0cf6f18593a587d240d56b473345c035db98.tar.bz2 upstream-03ea0cf6f18593a587d240d56b473345c035db98.zip |
ralink: use fe_reset to control all reset
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 44044
Diffstat (limited to 'target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c')
-rw-r--r-- | target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c index 4252ff3ad2..28650bbceb 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c @@ -60,6 +60,8 @@ #define NEXT_TX_DESP_IDX(X) (((X) + 1) & (NUM_DMA_DESC - 1)) #define NEXT_RX_DESP_IDX(X) (((X) + 1) & (NUM_DMA_DESC - 1)) +#define SYSC_REG_RSTCTRL 0x34 + static int fe_msg_level = -1; module_param_named(msg_level, fe_msg_level, int, 0); MODULE_PARM_DESC(msg_level, "Message level (-1=defaults,0=none,...,16=all)"); @@ -112,6 +114,20 @@ u32 fe_reg_r32(enum fe_reg reg) return fe_r32(fe_reg_table[reg]); } +void fe_reset(u32 reset_bits) +{ + u32 t; + + t = rt_sysc_r32(SYSC_REG_RSTCTRL); + t |= reset_bits; + rt_sysc_w32(t , SYSC_REG_RSTCTRL); + udelay(10); + + t &= ~reset_bits; + rt_sysc_w32(t, SYSC_REG_RSTCTRL); + udelay(10); +} + static inline void fe_int_disable(u32 mask) { fe_reg_w32(fe_reg_r32(FE_REG_FE_INT_ENABLE) & ~mask, |