xref: /openbmc/linux/drivers/atm/zeprom.h (revision 04fdfad6)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
21da177e4SLinus Torvalds /* drivers/atm/zeprom.h - ZeitNet ZN122x EEPROM (NM93C46) declarations */
31da177e4SLinus Torvalds 
41da177e4SLinus Torvalds /* Written 1995,1996 by Werner Almesberger, EPFL LRC */
51da177e4SLinus Torvalds 
61da177e4SLinus Torvalds 
71da177e4SLinus Torvalds #ifndef DRIVER_ATM_ZEPROM_H
81da177e4SLinus Torvalds #define DRIVER_ATM_ZEPROM_H
91da177e4SLinus Torvalds 
101da177e4SLinus Torvalds /* Different versions use different control registers */
111da177e4SLinus Torvalds 
121da177e4SLinus Torvalds #define ZEPROM_V1_REG	PCI_VENDOR_ID	/* PCI register */
131da177e4SLinus Torvalds #define ZEPROM_V2_REG	0x40
141da177e4SLinus Torvalds 
15*04fdfad6Szuoqilin /* Bits in control register */
161da177e4SLinus Torvalds 
171da177e4SLinus Torvalds #define ZEPROM_SK	0x80000000	/* strobe (probably on raising edge) */
181da177e4SLinus Torvalds #define ZEPROM_CS	0x40000000	/* Chip Select */
191da177e4SLinus Torvalds #define ZEPROM_DI	0x20000000	/* Data Input */
201da177e4SLinus Torvalds #define ZEPROM_DO	0x10000000	/* Data Output */
211da177e4SLinus Torvalds 
221da177e4SLinus Torvalds #define ZEPROM_SIZE	32		/* 32 bytes */
231da177e4SLinus Torvalds #define ZEPROM_V1_ESI_OFF 24		/* ESI offset in EEPROM (V1) */
241da177e4SLinus Torvalds #define ZEPROM_V2_ESI_OFF 4		/* ESI offset in EEPROM (V2) */
251da177e4SLinus Torvalds 
261da177e4SLinus Torvalds #define ZEPROM_CMD_LEN	3		/* commands are three bits */
271da177e4SLinus Torvalds #define ZEPROM_ADDR_LEN	6		/* addresses are six bits */
281da177e4SLinus Torvalds 
291da177e4SLinus Torvalds /* Commands (3 bits) */
301da177e4SLinus Torvalds 
311da177e4SLinus Torvalds #define ZEPROM_CMD_READ	6
321da177e4SLinus Torvalds 
331da177e4SLinus Torvalds /* No other commands are needed. */
341da177e4SLinus Torvalds 
351da177e4SLinus Torvalds #endif
36