Skip to content
Snippets Groups Projects
Select Git revision
  • cbfa0304f96c7e3d30f83d9feb7b7f23a197e4b1
  • max32xxx default protected
  • dw-cmsisdap-path
3 results

cfi.h

Blame
  • cfi.h 4.20 KiB
    /***************************************************************************
     *   Copyright (C) 2005 by Dominic Rath                                    *
     *   Dominic.Rath@gmx.de                                                   *
     *                                                                         *
     *   This program is free software; you can redistribute it and/or modify  *
     *   it under the terms of the GNU General Public License as published by  *
     *   the Free Software Foundation; either version 2 of the License, or     *
     *   (at your option) any later version.                                   *
     *                                                                         *
     *   This program is distributed in the hope that it will be useful,       *
     *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
     *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
     *   GNU General Public License for more details.                          *
     *                                                                         *
     *   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.             *
     ***************************************************************************/
    #ifndef CFI_H
    #define CFI_H
    
    #include "flash.h"
    
    #define CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7 0xE0 /* DQ5..DQ7 */
    #define CFI_STATUS_POLL_MASK_DQ6_DQ7     0xC0 /* DQ6..DQ7 */
    
    typedef struct cfi_flash_bank_s
    {
    	working_area_t *write_algorithm;
    
    	int x16_as_x8;
    	int jedec_probe;
    	int not_cfi;
    	int probed;
    
    	u16 manufacturer;
    	u16 device_id;
    
    	char qry[3];
    
    	/* identification string */
    	u16 pri_id;
    	u16 pri_addr;
    	u16 alt_id;
    	u16 alt_addr;
    
    	/* device-system interface */
    	u8 vcc_min;
    	u8 vcc_max;
    	u8 vpp_min;
    	u8 vpp_max;
    	u8 word_write_timeout_typ;
    	u8 buf_write_timeout_typ;
    	u8 block_erase_timeout_typ;
    	u8 chip_erase_timeout_typ;
    	u8 word_write_timeout_max;
    	u8 buf_write_timeout_max;
    	u8 block_erase_timeout_max;
    	u8 chip_erase_timeout_max;
    
    	u8 status_poll_mask;
    
    	/* flash geometry */
    	u32 dev_size;
    	u16 interface_desc;
    	u16 max_buf_write_size;
    	u8 num_erase_regions;
    	u32 *erase_region_info;