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