Changeset 1474 for trunk/82802ab.c


Ignore:
Timestamp:
12/18/11 16:01:24 (5 months ago)
Author:
hailfinger
Message:

Add struct flashctx * parameter to all functions accessing flash chips.

All programmer access function prototypes except init have been made
static and moved to the respective file.

A few internal functions in flash chip drivers had chipaddr parameters
which are no longer needed.

The lines touched by flashctx changes have been adjusted to 80 columns
except in header files.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@…>
Acked-by: Michael Karcher <flashrom@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/82802ab.c

    r1473 r1474  
    4848 
    4949        /* Reset to get a clean state */ 
    50         chip_writeb(0xFF, bios); 
     50        chip_writeb(flash, 0xFF, bios); 
    5151        programmer_delay(10); 
    5252 
    5353        /* Enter ID mode */ 
    54         chip_writeb(0x90, bios); 
    55         programmer_delay(10); 
    56  
    57         id1 = chip_readb(bios + (0x00 << shifted)); 
    58         id2 = chip_readb(bios + (0x01 << shifted)); 
     54        chip_writeb(flash, 0x90, bios); 
     55        programmer_delay(10); 
     56 
     57        id1 = chip_readb(flash, bios + (0x00 << shifted)); 
     58        id2 = chip_readb(flash, bios + (0x01 << shifted)); 
    5959 
    6060        /* Leave ID mode */ 
    61         chip_writeb(0xFF, bios); 
     61        chip_writeb(flash, 0xFF, bios); 
    6262 
    6363        programmer_delay(10); 
     
    7272         * flash contents. 
    7373         */ 
    74         flashcontent1 = chip_readb(bios + (0x00 << shifted)); 
    75         flashcontent2 = chip_readb(bios + (0x01 << shifted)); 
     74        flashcontent1 = chip_readb(flash, bios + (0x00 << shifted)); 
     75        flashcontent2 = chip_readb(flash, bios + (0x01 << shifted)); 
    7676 
    7777        if (id1 == flashcontent1) 
     
    9595        chipaddr bios = flash->virtual_memory; 
    9696 
    97         chip_writeb(0x70, bios); 
    98         if ((chip_readb(bios) & 0x80) == 0) {   // it's busy 
    99                 while ((chip_readb(bios) & 0x80) == 0) ; 
    100         } 
    101  
    102         status = chip_readb(bios); 
     97        chip_writeb(flash, 0x70, bios); 
     98        if ((chip_readb(flash, bios) & 0x80) == 0) {    // it's busy 
     99                while ((chip_readb(flash, bios) & 0x80) == 0) ; 
     100        } 
     101 
     102        status = chip_readb(flash, bios); 
    103103 
    104104        /* Reset to get a clean state */ 
    105         chip_writeb(0xFF, bios); 
     105        chip_writeb(flash, 0xFF, bios); 
    106106 
    107107        return status; 
     
    114114 
    115115        for (i = 0; i < flash->total_size * 1024; i+= flash->page_size) 
    116                 chip_writeb(0, flash->virtual_registers + i + 2); 
     116                chip_writeb(flash, 0, flash->virtual_registers + i + 2); 
    117117 
    118118        return 0; 
     
    126126 
    127127        // clear status register 
    128         chip_writeb(0x50, bios + page); 
     128        chip_writeb(flash, 0x50, bios + page); 
    129129 
    130130        // now start it 
    131         chip_writeb(0x20, bios + page); 
    132         chip_writeb(0xd0, bios + page); 
     131        chip_writeb(flash, 0x20, bios + page); 
     132        chip_writeb(flash, 0xd0, bios + page); 
    133133        programmer_delay(10); 
    134134 
     
    142142 
    143143/* chunksize is 1 */ 
    144 int write_82802ab(struct flashctx *flash, uint8_t *src, unsigned int start, unsigned int len) 
     144int write_82802ab(struct flashctx *flash, uint8_t *src, unsigned int start, 
     145                  unsigned int len) 
    145146{ 
    146147        int i; 
     
    149150        for (i = 0; i < len; i++) { 
    150151                /* transfer data from source to destination */ 
    151                 chip_writeb(0x40, dst); 
    152                 chip_writeb(*src++, dst++); 
     152                chip_writeb(flash, 0x40, dst); 
     153                chip_writeb(flash, *src++, dst++); 
    153154                wait_82802ab(flash); 
    154155        } 
     
    165166 
    166167        /* Clear status register */ 
    167         chip_writeb(0x50, bios); 
     168        chip_writeb(flash, 0x50, bios); 
    168169 
    169170        /* Read identifier codes */ 
    170         chip_writeb(0x90, bios); 
     171        chip_writeb(flash, 0x90, bios); 
    171172 
    172173        /* Read master lock-bit */ 
    173         mcfg = chip_readb(bios + 0x3); 
     174        mcfg = chip_readb(flash, bios + 0x3); 
    174175        msg_cdbg("master lock is "); 
    175176        if (mcfg) { 
     
    182183        /* Read block lock-bits */ 
    183184        for (i = 0; i < flash->total_size * 1024; i+= (64 * 1024)) { 
    184                 bcfg = chip_readb(bios + i + 2); // read block lock config 
     185                bcfg = chip_readb(flash, bios + i + 2); // read block lock config 
    185186                msg_cdbg("block lock at %06x is %slocked!\n", i, bcfg ? "" : "un"); 
    186187                if (bcfg) { 
     
    190191 
    191192        /* Reset chip */ 
    192         chip_writeb(0xFF, bios); 
     193        chip_writeb(flash, 0xFF, bios); 
    193194 
    194195        /* Unlock: clear block lock-bits, if needed */ 
    195196        if (can_unlock && need_unlock) { 
    196197                msg_cdbg("Unlock: "); 
    197                 chip_writeb(0x60, bios); 
    198                 chip_writeb(0xD0, bios); 
    199                 chip_writeb(0xFF, bios); 
     198                chip_writeb(flash, 0x60, bios); 
     199                chip_writeb(flash, 0xD0, bios); 
     200                chip_writeb(flash, 0xFF, bios); 
    200201                msg_cdbg("Done!\n"); 
    201202        } 
     
    221222 
    222223        /* Read identifier codes */ 
    223         chip_writeb(0x90, bios); 
     224        chip_writeb(flash, 0x90, bios); 
    224225 
    225226        /* Read master lock-bit */ 
    226         mcfg = chip_readb(bios + 0x3); 
     227        mcfg = chip_readb(flash, bios + 0x3); 
    227228        msg_cdbg("master lock is "); 
    228229        if (mcfg) { 
     
    236237        for (i = 0; i < flash->total_size * 1024; 
    237238             i += (i >= (64 * 1024) ? 64 * 1024 : 8 * 1024)) { 
    238                 bcfg = chip_readb(bios + i + 2); /* read block lock config */ 
     239                bcfg = chip_readb(flash, bios + i + 2); /* read block lock config */ 
    239240                msg_cdbg("block lock at %06x is %slocked!\n", i, 
    240241                         bcfg ? "" : "un"); 
     
    244245 
    245246        /* Reset chip */ 
    246         chip_writeb(0xFF, bios); 
     247        chip_writeb(flash, 0xFF, bios); 
    247248 
    248249        /* Unlock: clear block lock-bits, if needed */ 
    249250        if (can_unlock && need_unlock) { 
    250251                msg_cdbg("Unlock: "); 
    251                 chip_writeb(0x60, bios); 
    252                 chip_writeb(0xD0, bios); 
    253                 chip_writeb(0xFF, bios); 
     252                chip_writeb(flash, 0x60, bios); 
     253                chip_writeb(flash, 0xD0, bios); 
     254                chip_writeb(flash, 0xFF, bios); 
    254255                wait_82802ab(flash); 
    255256                msg_cdbg("Done!\n"); 
Note: See TracChangeset for help on using the changeset viewer.