From 2052da946096590035438626afbc7f329d2549d8 Mon Sep 17 00:00:00 2001 From: "John W. Linville" Date: Thu, 21 Apr 2005 16:56:08 -0700 Subject: [TG3]: add basic bcm5752 support Add ASIC_REV_5752 definition. Track-down all references to ASIC_REV_5750 and mirror them with references to the newly defined ASIC_REV_5752. Signed-off-by: John W. Linville Signed-off-by: David S. Miller --- drivers/net/tg3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/net/tg3.h') diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index d48887d90325..820df83ec6cb 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h @@ -132,6 +132,7 @@ #define ASIC_REV_5704 0x02 #define ASIC_REV_5705 0x03 #define ASIC_REV_5750 0x04 +#define ASIC_REV_5752 0x05 #define GET_CHIP_REV(CHIP_REV_ID) ((CHIP_REV_ID) >> 8) #define CHIPREV_5700_AX 0x70 #define CHIPREV_5700_BX 0x71 -- cgit v1.2.3 From 6708e5cc103ba045fca035b4d8df236ca31fb8bc Mon Sep 17 00:00:00 2001 From: "John W. Linville" Date: Thu, 21 Apr 2005 17:00:52 -0700 Subject: [TG3]: define TG3_FLG2_5750_PLUS flag Define TG3_FLG2_5750_PLUS flag and set it in tg3_get_invariants for ASIC_REV_5750 or ASIC_REV_5752. Signed-off-by: John W. Linville Signed-off-by: David S. Miller --- drivers/net/tg3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/net/tg3.h') diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index 820df83ec6cb..0cce4044530b 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h @@ -2101,6 +2101,7 @@ struct tg3 { #define TG3_FLG2_HW_TSO 0x00010000 #define TG3_FLG2_SERDES_PREEMPHASIS 0x00020000 #define TG3_FLG2_5705_PLUS 0x00040000 +#define TG3_FLG2_5750_PLUS 0x00080000 u32 split_mode_max_reqs; #define SPLIT_MODE_5704_MAX_REQ 3 -- cgit v1.2.3 From 053d78000be4906fac6446ad517ca3897dc6cd84 Mon Sep 17 00:00:00 2001 From: "John W. Linville" Date: Thu, 21 Apr 2005 17:03:52 -0700 Subject: [TG3]: add support for bcm5752 rev a1 Replace existing ASIC_REV_5752 definition with ASIC_REV_5752_A0, and add definition for ASIC_REV_5752_A1. Then, add ASIC_REV_5752_A1 to check for setting TG3_FLG2_5750_PLUS in tg3_get_invariants. Signed-off-by: John W. Linville Signed-off-by: David S. Miller --- drivers/net/tg3.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'drivers/net/tg3.h') diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index 0cce4044530b..3a91a57a3205 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h @@ -125,6 +125,8 @@ #define CHIPREV_ID_5750_A0 0x4000 #define CHIPREV_ID_5750_A1 0x4001 #define CHIPREV_ID_5750_A3 0x4003 +#define CHIPREV_ID_5752_A0 0x5000 +#define CHIPREV_ID_5752_A1 0x6001 #define GET_ASIC_REV(CHIP_REV_ID) ((CHIP_REV_ID) >> 12) #define ASIC_REV_5700 0x07 #define ASIC_REV_5701 0x00 @@ -132,7 +134,8 @@ #define ASIC_REV_5704 0x02 #define ASIC_REV_5705 0x03 #define ASIC_REV_5750 0x04 -#define ASIC_REV_5752 0x05 +#define ASIC_REV_5752_A0 0x05 +#define ASIC_REV_5752_A1 0x06 #define GET_CHIP_REV(CHIP_REV_ID) ((CHIP_REV_ID) >> 8) #define CHIPREV_5700_AX 0x70 #define CHIPREV_5700_BX 0x71 -- cgit v1.2.3 From 85e94cedc44d1c2c1663b5b18f703ca5e7316e59 Mon Sep 17 00:00:00 2001 From: Michael Chan Date: Thu, 21 Apr 2005 17:05:28 -0700 Subject: [TG3]: Minor 5752 fixes Some minor 5752 fixes mostly for correctness and add 5752 PHY ID. Signed-off-by: Michael Chan Signed-off-by: David S. Miller --- drivers/net/tg3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/net/tg3.h') diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index 3a91a57a3205..4732a804974b 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h @@ -2150,6 +2150,7 @@ struct tg3 { #define PHY_ID_BCM5704 0x60008190 #define PHY_ID_BCM5705 0x600081a0 #define PHY_ID_BCM5750 0x60008180 +#define PHY_ID_BCM5752 0x60008100 #define PHY_ID_BCM8002 0x60010140 #define PHY_ID_INVALID 0xffffffff #define PHY_ID_REV_MASK 0x0000000f -- cgit v1.2.3 From ff645bec523819fa4d28d7e0de7d998e3edb0c57 Mon Sep 17 00:00:00 2001 From: Michael Chan Date: Thu, 21 Apr 2005 17:09:53 -0700 Subject: [TG3]: Workaround 5752 A0 chip ID The 5752 A0 chip ID is wrong in hardware. The simplest way to workaround it is to change it to the correct value in tp->pci_chip_rev_id. This way, it is easier to check for the ASIC_REV_5752 in the rest of the driver. Signed-off-by: Michael Chan Signed-off-by: David S. Miller --- drivers/net/tg3.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'drivers/net/tg3.h') diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index 4732a804974b..3f7cd6fb8891 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h @@ -125,7 +125,8 @@ #define CHIPREV_ID_5750_A0 0x4000 #define CHIPREV_ID_5750_A1 0x4001 #define CHIPREV_ID_5750_A3 0x4003 -#define CHIPREV_ID_5752_A0 0x5000 +#define CHIPREV_ID_5752_A0_HW 0x5000 +#define CHIPREV_ID_5752_A0 0x6000 #define CHIPREV_ID_5752_A1 0x6001 #define GET_ASIC_REV(CHIP_REV_ID) ((CHIP_REV_ID) >> 12) #define ASIC_REV_5700 0x07 @@ -134,8 +135,7 @@ #define ASIC_REV_5704 0x02 #define ASIC_REV_5705 0x03 #define ASIC_REV_5750 0x04 -#define ASIC_REV_5752_A0 0x05 -#define ASIC_REV_5752_A1 0x06 +#define ASIC_REV_5752 0x06 #define GET_CHIP_REV(CHIP_REV_ID) ((CHIP_REV_ID) >> 8) #define CHIPREV_5700_AX 0x70 #define CHIPREV_5700_BX 0x71 -- cgit v1.2.3 From 3e7d83bc96d59013792e5546e7832668d3adbce7 Mon Sep 17 00:00:00 2001 From: Michael Chan Date: Thu, 21 Apr 2005 17:10:36 -0700 Subject: [TG3]: Add GPIO3 for 5752 Add bit definitions for the new GPIO3 in 5752. GPIO3 must be driven as output when it is unused. Signed-off-by: Michael Chan Signed-off-by: David S. Miller --- drivers/net/tg3.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'drivers/net/tg3.h') diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index 3f7cd6fb8891..548f469e9500 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h @@ -1311,6 +1311,9 @@ #define GRC_LCLCTRL_CLEARINT 0x00000002 #define GRC_LCLCTRL_SETINT 0x00000004 #define GRC_LCLCTRL_INT_ON_ATTN 0x00000008 +#define GRC_LCLCTRL_GPIO_INPUT3 0x00000020 +#define GRC_LCLCTRL_GPIO_OE3 0x00000040 +#define GRC_LCLCTRL_GPIO_OUTPUT3 0x00000080 #define GRC_LCLCTRL_GPIO_INPUT0 0x00000100 #define GRC_LCLCTRL_GPIO_INPUT1 0x00000200 #define GRC_LCLCTRL_GPIO_INPUT2 0x00000400 -- cgit v1.2.3 From 361b4ac29bc651c7612d4bf21434ae6fe06b78e4 Mon Sep 17 00:00:00 2001 From: Michael Chan Date: Thu, 21 Apr 2005 17:11:21 -0700 Subject: [TG3]: Add nvram detection for 5752 Signed-off-by: Michael Chan Signed-off-by: David S. Miller --- drivers/net/tg3.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'drivers/net/tg3.h') diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index 548f469e9500..261c2db7ce17 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h @@ -1399,6 +1399,20 @@ #define FLASH_VENDOR_SAIFUN 0x01000003 #define FLASH_VENDOR_SST_SMALL 0x00000001 #define FLASH_VENDOR_SST_LARGE 0x02000001 +#define NVRAM_CFG1_5752VENDOR_MASK 0x03c00003 +#define FLASH_5752VENDOR_ATMEL_EEPROM_64KHZ 0x00000000 +#define FLASH_5752VENDOR_ATMEL_EEPROM_376KHZ 0x02000000 +#define FLASH_5752VENDOR_ATMEL_FLASH_BUFFERED 0x02000003 +#define FLASH_5752VENDOR_ST_M45PE10 0x02400000 +#define FLASH_5752VENDOR_ST_M45PE20 0x02400002 +#define FLASH_5752VENDOR_ST_M45PE40 0x02400001 +#define NVRAM_CFG1_5752PAGE_SIZE_MASK 0x70000000 +#define FLASH_5752PAGE_SIZE_256 0x00000000 +#define FLASH_5752PAGE_SIZE_512 0x10000000 +#define FLASH_5752PAGE_SIZE_1K 0x20000000 +#define FLASH_5752PAGE_SIZE_2K 0x30000000 +#define FLASH_5752PAGE_SIZE_4K 0x40000000 +#define FLASH_5752PAGE_SIZE_264 0x50000000 #define NVRAM_CFG2 0x00007018 #define NVRAM_CFG3 0x0000701c #define NVRAM_SWARB 0x00007020 -- cgit v1.2.3 From e6af301be3c129adbc8a7c8ffb76e62533ad9575 Mon Sep 17 00:00:00 2001 From: Michael Chan Date: Thu, 21 Apr 2005 17:12:05 -0700 Subject: [TG3]: Add nvram lock-out support for 5752 TPM Add support for the NVRAM lock-out feature for TPM in 5752. If lock-out is enabled, certain NVRAM registers cannot be written to. Signed-off-by: Michael Chan Signed-off-by: David S. Miller --- drivers/net/tg3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/net/tg3.h') diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index 261c2db7ce17..d3f03f0f4c46 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h @@ -2122,6 +2122,7 @@ struct tg3 { #define TG3_FLG2_SERDES_PREEMPHASIS 0x00020000 #define TG3_FLG2_5705_PLUS 0x00040000 #define TG3_FLG2_5750_PLUS 0x00080000 +#define TG3_FLG2_PROTECTED_NVRAM 0x00100000 u32 split_mode_max_reqs; #define SPLIT_MODE_5704_MAX_REQ 3 -- cgit v1.2.3 From 88b06bc26b87cf0490b0e3faea7fefc7549dd75d Mon Sep 17 00:00:00 2001 From: Michael Chan Date: Thu, 21 Apr 2005 17:13:25 -0700 Subject: [TG3]: Add msi support Add MSI support for 5751 C0 and 5752. Signed-off-by: Michael Chan Signed-off-by: David S. Miller --- drivers/net/tg3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/net/tg3.h') diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index d3f03f0f4c46..8de6f21037ba 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h @@ -2123,6 +2123,7 @@ struct tg3 { #define TG3_FLG2_5705_PLUS 0x00040000 #define TG3_FLG2_5750_PLUS 0x00080000 #define TG3_FLG2_PROTECTED_NVRAM 0x00100000 +#define TG3_FLG2_USING_MSI 0x00200000 u32 split_mode_max_reqs; #define SPLIT_MODE_5704_MAX_REQ 3 -- cgit v1.2.3