Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* drivers/atm/zeprom.h - ZeitNet ZN122x EEPROM (NM93C46) declarations */ |
| 2 | |
| 3 | /* Written 1995,1996 by Werner Almesberger, EPFL LRC */ |
| 4 | |
| 5 | |
| 6 | #ifndef DRIVER_ATM_ZEPROM_H |
| 7 | #define DRIVER_ATM_ZEPROM_H |
| 8 | |
| 9 | /* Different versions use different control registers */ |
| 10 | |
| 11 | #define ZEPROM_V1_REG PCI_VENDOR_ID /* PCI register */ |
| 12 | #define ZEPROM_V2_REG 0x40 |
| 13 | |
| 14 | /* Bits in contol register */ |
| 15 | |
| 16 | #define ZEPROM_SK 0x80000000 /* strobe (probably on raising edge) */ |
| 17 | #define ZEPROM_CS 0x40000000 /* Chip Select */ |
| 18 | #define ZEPROM_DI 0x20000000 /* Data Input */ |
| 19 | #define ZEPROM_DO 0x10000000 /* Data Output */ |
| 20 | |
| 21 | #define ZEPROM_SIZE 32 /* 32 bytes */ |
| 22 | #define ZEPROM_V1_ESI_OFF 24 /* ESI offset in EEPROM (V1) */ |
| 23 | #define ZEPROM_V2_ESI_OFF 4 /* ESI offset in EEPROM (V2) */ |
| 24 | |
| 25 | #define ZEPROM_CMD_LEN 3 /* commands are three bits */ |
| 26 | #define ZEPROM_ADDR_LEN 6 /* addresses are six bits */ |
| 27 | |
| 28 | /* Commands (3 bits) */ |
| 29 | |
| 30 | #define ZEPROM_CMD_READ 6 |
| 31 | |
| 32 | /* No other commands are needed. */ |
| 33 | |
| 34 | #endif |