aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/tg3.c15
-rw-r--r--drivers/net/tg3.h15
2 files changed, 28 insertions, 2 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 833cb9b7f343..b865c5d44837 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -6369,6 +6369,21 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy)
6369 val = tr32(TG3_CPMU_CTRL); 6369 val = tr32(TG3_CPMU_CTRL);
6370 val &= ~(CPMU_CTRL_LINK_AWARE_MODE | CPMU_CTRL_LINK_IDLE_MODE); 6370 val &= ~(CPMU_CTRL_LINK_AWARE_MODE | CPMU_CTRL_LINK_IDLE_MODE);
6371 tw32(TG3_CPMU_CTRL, val); 6371 tw32(TG3_CPMU_CTRL, val);
6372
6373 val = tr32(TG3_CPMU_LSPD_10MB_CLK);
6374 val &= ~CPMU_LSPD_10MB_MACCLK_MASK;
6375 val |= CPMU_LSPD_10MB_MACCLK_6_25;
6376 tw32(TG3_CPMU_LSPD_10MB_CLK, val);
6377
6378 val = tr32(TG3_CPMU_LNK_AWARE_PWRMD);
6379 val &= ~CPMU_LNK_AWARE_MACCLK_MASK;
6380 val |= CPMU_LNK_AWARE_MACCLK_6_25;
6381 tw32(TG3_CPMU_LNK_AWARE_PWRMD, val);
6382
6383 val = tr32(TG3_CPMU_HST_ACC);
6384 val &= ~CPMU_HST_ACC_MACCLK_MASK;
6385 val |= CPMU_HST_ACC_MACCLK_6_25;
6386 tw32(TG3_CPMU_HST_ACC, val);
6372 } 6387 }
6373 6388
6374 /* This works around an issue with Athlon chipsets on 6389 /* This works around an issue with Athlon chipsets on
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
index 4659697beb4b..c6aad49a375d 100644
--- a/drivers/net/tg3.h
+++ b/drivers/net/tg3.h
@@ -857,13 +857,24 @@
857#define CPMU_CTRL_LINK_IDLE_MODE 0x00000200 857#define CPMU_CTRL_LINK_IDLE_MODE 0x00000200
858#define CPMU_CTRL_LINK_AWARE_MODE 0x00000400 858#define CPMU_CTRL_LINK_AWARE_MODE 0x00000400
859#define CPMU_CTRL_LINK_SPEED_MODE 0x00004000 859#define CPMU_CTRL_LINK_SPEED_MODE 0x00004000
860/* 0x3604 --> 0x360c unused */ 860#define TG3_CPMU_LSPD_10MB_CLK 0x00003604
861#define CPMU_LSPD_10MB_MACCLK_MASK 0x001f0000
862#define CPMU_LSPD_10MB_MACCLK_6_25 0x00130000
863/* 0x3608 --> 0x360c unused */
861 864
862#define TG3_CPMU_LSPD_1000MB_CLK 0x0000360c 865#define TG3_CPMU_LSPD_1000MB_CLK 0x0000360c
863#define CPMU_LSPD_1000MB_MACCLK_62_5 0x00000000 866#define CPMU_LSPD_1000MB_MACCLK_62_5 0x00000000
864#define CPMU_LSPD_1000MB_MACCLK_12_5 0x00110000 867#define CPMU_LSPD_1000MB_MACCLK_12_5 0x00110000
865#define CPMU_LSPD_1000MB_MACCLK_MASK 0x001f0000 868#define CPMU_LSPD_1000MB_MACCLK_MASK 0x001f0000
866/* 0x3610 --> 0x365c unused */ 869#define TG3_CPMU_LNK_AWARE_PWRMD 0x00003610
870#define CPMU_LNK_AWARE_MACCLK_MASK 0x001f0000
871#define CPMU_LNK_AWARE_MACCLK_6_25 0x00130000
872/* 0x3614 --> 0x361c unused */
873
874#define TG3_CPMU_HST_ACC 0x0000361c
875#define CPMU_HST_ACC_MACCLK_MASK 0x001f0000
876#define CPMU_HST_ACC_MACCLK_6_25 0x00130000
877/* 0x3620 --> 0x365c unused */
867 878
868#define TG3_CPMU_MUTEX_REQ 0x0000365c 879#define TG3_CPMU_MUTEX_REQ 0x0000365c
869#define CPMU_MUTEX_REQ_DRIVER 0x00001000 880#define CPMU_MUTEX_REQ_DRIVER 0x00001000