162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* drivers/atm/zeprom.h - ZeitNet ZN122x EEPROM (NM93C46) declarations */ 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci/* Written 1995,1996 by Werner Almesberger, EPFL LRC */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#ifndef DRIVER_ATM_ZEPROM_H 862306a36Sopenharmony_ci#define DRIVER_ATM_ZEPROM_H 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/* Different versions use different control registers */ 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#define ZEPROM_V1_REG PCI_VENDOR_ID /* PCI register */ 1362306a36Sopenharmony_ci#define ZEPROM_V2_REG 0x40 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci/* Bits in control register */ 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci#define ZEPROM_SK 0x80000000 /* strobe (probably on raising edge) */ 1862306a36Sopenharmony_ci#define ZEPROM_CS 0x40000000 /* Chip Select */ 1962306a36Sopenharmony_ci#define ZEPROM_DI 0x20000000 /* Data Input */ 2062306a36Sopenharmony_ci#define ZEPROM_DO 0x10000000 /* Data Output */ 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci#define ZEPROM_SIZE 32 /* 32 bytes */ 2362306a36Sopenharmony_ci#define ZEPROM_V1_ESI_OFF 24 /* ESI offset in EEPROM (V1) */ 2462306a36Sopenharmony_ci#define ZEPROM_V2_ESI_OFF 4 /* ESI offset in EEPROM (V2) */ 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci#define ZEPROM_CMD_LEN 3 /* commands are three bits */ 2762306a36Sopenharmony_ci#define ZEPROM_ADDR_LEN 6 /* addresses are six bits */ 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci/* Commands (3 bits) */ 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci#define ZEPROM_CMD_READ 6 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci/* No other commands are needed. */ 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci#endif 36