1/* 2 * abyss.h: Header for the abyss tms380tr module 3 * 4 * Authors: 5 * - Adam Fritzler <mid@auk.cx> 6 */ 7 8#ifndef __LINUX_MADGETR_H 9#define __LINUX_MADGETR_H 10 11#ifdef __KERNEL__ 12 13/* 14 * For Madge Smart 16/4 PCI Mk2. Since we increment the base address 15 * to get everything correct for the TMS SIF, we do these as negatives 16 * as they fall below the SIF in addressing. 17 */ 18#define PCIBM2_INT_STATUS_REG ((short)-15)/* 0x01 */ 19#define PCIBM2_INT_CONTROL_REG ((short)-14)/* 0x02 */ 20#define PCIBM2_RESET_REG ((short)-12)/* 0x04 */ 21#define PCIBM2_SEEPROM_REG ((short)-9) /* 0x07 */ 22 23#define PCIBM2_INT_CONTROL_REG_SINTEN 0x02 24#define PCIBM2_INT_CONTROL_REG_PCI_ERR_ENABLE 0x80 25#define PCIBM2_INT_STATUS_REG_PCI_ERR 0x80 26 27#define PCIBM2_RESET_REG_CHIP_NRES 0x01 28#define PCIBM2_RESET_REG_FIFO_NRES 0x02 29#define PCIBM2_RESET_REG_SIF_NRES 0x04 30 31#define PCIBM2_FIFO_THRESHOLD 0x21 32#define PCIBM2_BURST_LENGTH 0x22 33 34/* 35 * Bits in PCIBM2_SEEPROM_REG. 36 */ 37#define AT24_ENABLE 0x04 38#define AT24_DATA 0x02 39#define AT24_CLOCK 0x01 40 41/* 42 * AT24 Commands. 43 */ 44#define AT24_WRITE 0xA0 45#define AT24_READ 0xA1 46 47/* 48 * Addresses in AT24 SEEPROM. 49 */ 50#define PCIBM2_SEEPROM_BIA 0x12 51#define PCIBM2_SEEPROM_RING_SPEED 0x18 52#define PCIBM2_SEEPROM_RAM_SIZE 0x1A 53#define PCIBM2_SEEPROM_HWF1 0x1C 54#define PCIBM2_SEEPROM_HWF2 0x1E 55 56 57#endif /* __KERNEL__ */ 58#endif /* __LINUX_MADGETR_H */ 59