* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
***************************************************************************/
+
#ifndef CFI_H
#define CFI_H
#define CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7 0xE0 /* DQ5..DQ7 */
#define CFI_STATUS_POLL_MASK_DQ6_DQ7 0xC0 /* DQ6..DQ7 */
-struct cfi_flash_bank
-{
- struct working_area *write_algorithm;
-
+struct cfi_flash_bank {
int x16_as_x8;
int jedec_probe;
int not_cfi;
void *pri_ext;
void *alt_ext;
+
+ /* calculated timeouts */
+ unsigned word_write_timeout;
+ unsigned buf_write_timeout;
+ unsigned block_erase_timeout;
+ unsigned chip_erase_timeout;
};
/* Intel primary extended query table
* as defined for the Advanced+ Boot Block Flash Memory (C3)
* and used by the linux kernel cfi driver (as of 2.6.14)
*/
-struct cfi_intel_pri_ext
-{
+struct cfi_intel_pri_ext {
uint8_t pri[3];
uint8_t major_version;
uint8_t minor_version;
/* Spansion primary extended query table as defined for and used by
* the linux kernel cfi driver (as of 2.6.15)
*/
-struct cfi_spansion_pri_ext
-{
+struct cfi_spansion_pri_ext {
uint8_t pri[3];
uint8_t major_version;
uint8_t minor_version;
/* Atmel primary extended query table as defined for and used by
* the linux kernel cfi driver (as of 2.6.20+)
*/
-struct cfi_atmel_pri_ext
-{
+struct cfi_atmel_pri_ext {
uint8_t pri[3];
uint8_t major_version;
uint8_t minor_version;
CFI_UNLOCK_5555_2AAA,
};
-struct cfi_unlock_addresses
-{
+struct cfi_unlock_addresses {
uint32_t unlock1;
uint32_t unlock2;
};
-struct cfi_fixup
-{
+struct cfi_fixup {
uint16_t mfr;
uint16_t id;
- void (*fixup)(struct flash_bank *flash, void *param);
- void *param;
+ void (*fixup)(struct flash_bank *bank, const void *param);
+ const void *param;
};
#define CFI_MFR_AMD 0x0001
#define CFI_MFR_AMIC 0x0037
#define CFI_MFR_SST 0x00BF
#define CFI_MFR_MX 0x00C2
+#define CFI_MFR_EON 0x007F
#define CFI_MFR_ANY 0xffff
#define CFI_ID_ANY 0xffff