99 lines
3.3 KiB
C
99 lines
3.3 KiB
C
|
/* $Id: iflash.h,v 1.2 2000/11/13 18:01:54 dwmw2 Exp $ */
|
||
|
|
||
|
#ifndef __MTD_IFLASH_H__
|
||
|
#define __MTD_IFLASH_H__
|
||
|
|
||
|
/* Extended CIS registers for Series 2 and 2+ cards */
|
||
|
/* The registers are all offsets from 0x4000 */
|
||
|
#define CISREG_CSR 0x0100
|
||
|
#define CISREG_WP 0x0104
|
||
|
#define CISREG_RDYBSY 0x0140
|
||
|
|
||
|
/* Extended CIS registers for Series 2 cards */
|
||
|
#define CISREG_SLEEP 0x0118
|
||
|
#define CISREG_RDY_MASK 0x0120
|
||
|
#define CISREG_RDY_STATUS 0x0130
|
||
|
|
||
|
/* Extended CIS registers for Series 2+ cards */
|
||
|
#define CISREG_VCR 0x010c
|
||
|
|
||
|
/* Card Status Register */
|
||
|
#define CSR_SRESET 0x20 /* Soft reset */
|
||
|
#define CSR_CMWP 0x10 /* Common memory write protect */
|
||
|
#define CSR_PWRDOWN 0x08 /* Power down status */
|
||
|
#define CSR_CISWP 0x04 /* Common memory CIS WP */
|
||
|
#define CSR_WP 0x02 /* Mechanical write protect */
|
||
|
#define CSR_READY 0x01 /* Ready/busy status */
|
||
|
|
||
|
/* Write Protection Register */
|
||
|
#define WP_BLKEN 0x04 /* Enable block locking */
|
||
|
#define WP_CMWP 0x02 /* Common memory write protect */
|
||
|
#define WP_CISWP 0x01 /* Common memory CIS WP */
|
||
|
|
||
|
/* Voltage Control Register */
|
||
|
#define VCR_VCC_LEVEL 0x80 /* 0 = 5V, 1 = 3.3V */
|
||
|
#define VCR_VPP_VALID 0x02 /* Vpp Valid */
|
||
|
#define VCR_VPP_GEN 0x01 /* Integrated Vpp generator */
|
||
|
|
||
|
/* Ready/Busy Mode Register */
|
||
|
#define RDYBSY_RACK 0x02 /* Ready acknowledge */
|
||
|
#define RDYBSY_MODE 0x01 /* 1 = high performance */
|
||
|
|
||
|
#define LOW(x) ((x) & 0xff)
|
||
|
|
||
|
/* 28F008SA-Compatible Command Set */
|
||
|
#define IF_READ_ARRAY 0xffff
|
||
|
#define IF_INTEL_ID 0x9090
|
||
|
#define IF_READ_CSR 0x7070
|
||
|
#define IF_CLEAR_CSR 0x5050
|
||
|
#define IF_WRITE 0x4040
|
||
|
#define IF_BLOCK_ERASE 0x2020
|
||
|
#define IF_ERASE_SUSPEND 0xb0b0
|
||
|
#define IF_CONFIRM 0xd0d0
|
||
|
|
||
|
/* 28F016SA Performance Enhancement Commands */
|
||
|
#define IF_READ_PAGE 0x7575
|
||
|
#define IF_PAGE_SWAP 0x7272
|
||
|
#define IF_SINGLE_LOAD 0x7474
|
||
|
#define IF_SEQ_LOAD 0xe0e0
|
||
|
#define IF_PAGE_WRITE 0x0c0c
|
||
|
#define IF_RDY_MODE 0x9696
|
||
|
#define IF_RDY_LEVEL 0x0101
|
||
|
#define IF_RDY_PULSE_WRITE 0x0202
|
||
|
#define IF_RDY_PULSE_ERASE 0x0303
|
||
|
#define IF_RDY_DISABLE 0x0404
|
||
|
#define IF_LOCK_BLOCK 0x7777
|
||
|
#define IF_UPLOAD_STATUS 0x9797
|
||
|
#define IF_READ_ESR 0x7171
|
||
|
#define IF_ERASE_UNLOCKED 0xa7a7
|
||
|
#define IF_SLEEP 0xf0f0
|
||
|
#define IF_ABORT 0x8080
|
||
|
#define IF_UPLOAD_DEVINFO 0x9999
|
||
|
|
||
|
/* Definitions for Compatible Status Register */
|
||
|
#define CSR_WR_READY 0x8080 /* Write state machine status */
|
||
|
#define CSR_ERA_SUSPEND 0x4040 /* Erase suspend status */
|
||
|
#define CSR_ERA_ERR 0x2020 /* Erase status */
|
||
|
#define CSR_WR_ERR 0x1010 /* Data write status */
|
||
|
#define CSR_VPP_LOW 0x0808 /* Vpp status */
|
||
|
|
||
|
/* Definitions for Global Status Register */
|
||
|
#define GSR_WR_READY 0x8080 /* Write state machine status */
|
||
|
#define GSR_OP_SUSPEND 0x4040 /* Operation suspend status */
|
||
|
#define GSR_OP_ERR 0x2020 /* Device operation status */
|
||
|
#define GSR_SLEEP 0x1010 /* Device sleep status */
|
||
|
#define GSR_QUEUE_FULL 0x0808 /* Queue status */
|
||
|
#define GSR_PAGE_AVAIL 0x0404 /* Page buffer available status */
|
||
|
#define GSR_PAGE_READY 0x0202 /* Page buffer status */
|
||
|
#define GSR_PAGE_SELECT 0x0101 /* Page buffer select status */
|
||
|
|
||
|
/* Definitions for Block Status Register */
|
||
|
#define BSR_READY 0x8080 /* Block status */
|
||
|
#define BSR_UNLOCK 0x4040 /* Block lock status */
|
||
|
#define BSR_FAILED 0x2020 /* Block operation status */
|
||
|
#define BSR_ABORTED 0x1010 /* Operation abort status */
|
||
|
#define BSR_QUEUE_FULL 0x0808 /* Queue status */
|
||
|
#define BSR_VPP_LOW 0x0404 /* Vpp status */
|
||
|
|
||
|
#endif /* __MTD_IFLASH_H__ */
|