KSZ8851-SNL: Add ethtool support for EEPROM via eeprom_93cx6

Add ethtool EEPROM read/write support using the eeprom_93cx6
library instead of open-coding the functions.

Depends on eeprom_93cx6 driver getting EEPROM write support.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Simtec Linux Team <linux@simtec.co.uk>
[sboyd@codeaurora.org: Removed previous eeprom implementation]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ben Dooks
2011-11-21 08:58:00 +00:00
committed by David S. Miller
parent 32f160d965
commit 51b7b1c34e
3 changed files with 131 additions and 331 deletions
+2
View File
@@ -42,6 +42,8 @@ config KS8851
select NET_CORE
select MII
select CRC32
select MISC_DEVICES
select EEPROM_93CX6
---help---
SPI driver for Micrel KS8851 SPI attached network chip.
File diff suppressed because it is too large Load Diff
+1 -12
View File
@@ -27,22 +27,11 @@
#define KS_EEPCR 0x22
#define EEPCR_EESRWA (1 << 5)
#define EEPCR_EESA (1 << 4)
#define EEPCR_EESB_OFFSET 3
#define EEPCR_EESB (1 << EEPCR_EESB_OFFSET)
#define EEPCR_EESB (1 << 3)
#define EEPCR_EEDO (1 << 2)
#define EEPCR_EESCK (1 << 1)
#define EEPCR_EECS (1 << 0)
#define EEPROM_OP_LEN 3 /* bits:*/
#define EEPROM_OP_READ 0x06
#define EEPROM_OP_EWEN 0x04
#define EEPROM_OP_WRITE 0x05
#define EEPROM_OP_EWDS 0x14
#define EEPROM_DATA_LEN 16 /* 16 bits EEPROM */
#define EEPROM_WRITE_TIME 4 /* wrt ack time in ms */
#define EEPROM_SK_PERIOD 400 /* in us */
#define KS_MBIR 0x24
#define MBIR_TXMBF (1 << 12)
#define MBIR_TXMBFA (1 << 11)