Annotation of qemu/roms/openbios/utils/devbios/flashchips.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  *                     OpenBIOS - free your system! 
                      3:  *              ( firmware/flash device driver for Linux )
                      4:  *                          
                      5:  *  flashchips.h - flash device structures.
                      6:  *  
                      7:  *  This program is part of a free implementation of the IEEE 1275-1994 
                      8:  *  Standard for Boot (Initialization Configuration) Firmware.
                      9:  *
                     10:  *  Copyright (C) 1998-2004  Stefan Reinauer, <[email protected]>
                     11:  *
                     12:  *  This program is free software; you can redistribute it and/or modify
                     13:  *  it under the terms of the GNU General Public License as published by
                     14:  *  the Free Software Foundation; version 2 of the License.
                     15:  *
                     16:  *  This program is distributed in the hope that it will be useful,
                     17:  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
                     18:  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     19:  *  GNU General Public License for more details.
                     20:  *
                     21:  *  You should have received a copy of the GNU General Public License
                     22:  *  along with this program; if not, write to the Free Software
                     23:  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
                     24:  *
                     25:  */
                     26: 
                     27: /*
                     28:  *   flags structure
                     29:  *   bit 0 = needs erase before write (f_needs_erase)
                     30:  *   bit 1-3 flash manu type
                     31:  *   bit 4-6 probably needed for more manu
                     32:  *   bit 7 = sector erase happens one sector at a time
                     33:  *           (f_slow_sector_erase)
                     34:  */
                     35: 
                     36: #define f_needs_erase   0x01
                     37: 
                     38: /* 3 bit for flashtype */
                     39: #define f_manuf_compl   0x0e /* Mask out bits 1-3 */
                     40: #define f_intel_compl   0x02 /* 001 */
                     41: #define f_atmel_compl   0x04 /* 010 */
                     42: #define f_fwh_compl     0x08 /* 100 */
                     43: 
                     44: #define f_slow_sector_erase 0x80
                     45: 
                     46: #define FLASH_UNKNOWN  0
                     47: #define FLASH_CFI      1
                     48: #define FLASH_JEDEC    2
                     49: 
                     50: typedef struct flashdevice {
                     51:        unsigned long   mapped;
                     52:        unsigned long   physical;
                     53:        unsigned long   offset;
                     54:        unsigned int    flashnum, manufnum;
                     55:        unsigned short  id;
                     56:        unsigned int    size, sectors;
                     57:        unsigned int    idx;
                     58:        void            *data;
                     59:        int             open_mode, open_cnt;
                     60: } flashdevice_t;
                     61: 
                     62: typedef struct flashchip {
                     63:        char            *name;
                     64:        unsigned short  id;
                     65:        unsigned int    voltage;
                     66:        unsigned int    size;           /* KBytes */
                     67:        unsigned int    supported;
                     68:        unsigned int    pagesize;       /* Bytes */
                     69:        unsigned int    flags;
                     70:        unsigned int    *sectors;       /* Kbytes[] including end of last sector */
                     71: } flashchip_t;
                     72: 
                     73: typedef struct manufacturer {
                     74:        char            *name;
                     75:        unsigned short  id;
                     76: } manufacturer_t;
                     77: 
                     78: extern unsigned int currflash;
                     79: extern flashdevice_t  flashdevices[BIOS_MAXDEV];
                     80: extern const flashchip_t flashchips[];
                     81: extern const manufacturer_t manufacturers[];

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.