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