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