FreeBSD definitions of (read|write)[bwl] collide with our own. Before we
attempt trickery, we can simply rename the accessor functions. Patch created with the help of Coccinelle. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Idwer Vollering <idwer_v@hotmail.com> Acked-by: Patrick Georgi <patrick@georgi-clan.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3984 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
@@ -41,23 +41,23 @@ int probe_lhf00l04(struct flashchip *flash)
|
||||
|
||||
#if 0
|
||||
/* Enter ID mode */
|
||||
writeb(0xAA, bios + 0x5555);
|
||||
writeb(0x55, bios + 0x2AAA);
|
||||
writeb(0x90, bios + 0x5555);
|
||||
chip_writeb(0xAA, bios + 0x5555);
|
||||
chip_writeb(0x55, bios + 0x2AAA);
|
||||
chip_writeb(0x90, bios + 0x5555);
|
||||
#endif
|
||||
|
||||
writeb(0xff, bios);
|
||||
chip_writeb(0xff, bios);
|
||||
myusec_delay(10);
|
||||
writeb(0x90, bios);
|
||||
chip_writeb(0x90, bios);
|
||||
myusec_delay(10);
|
||||
|
||||
id1 = readb(bios);
|
||||
id2 = readb(bios + 0x01);
|
||||
id1 = chip_readb(bios);
|
||||
id2 = chip_readb(bios + 0x01);
|
||||
|
||||
/* Leave ID mode */
|
||||
writeb(0xAA, bios + 0x5555);
|
||||
writeb(0x55, bios + 0x2AAA);
|
||||
writeb(0xF0, bios + 0x5555);
|
||||
chip_writeb(0xAA, bios + 0x5555);
|
||||
chip_writeb(0x55, bios + 0x2AAA);
|
||||
chip_writeb(0xF0, bios + 0x5555);
|
||||
|
||||
myusec_delay(10);
|
||||
|
||||
@@ -76,25 +76,25 @@ uint8_t wait_lhf00l04(volatile uint8_t *bios)
|
||||
uint8_t status;
|
||||
uint8_t id1, id2;
|
||||
|
||||
writeb(0x70, bios);
|
||||
if ((readb(bios) & 0x80) == 0) { // it's busy
|
||||
while ((readb(bios) & 0x80) == 0) ;
|
||||
chip_writeb(0x70, bios);
|
||||
if ((chip_readb(bios) & 0x80) == 0) { // it's busy
|
||||
while ((chip_readb(bios) & 0x80) == 0) ;
|
||||
}
|
||||
|
||||
status = readb(bios);
|
||||
status = chip_readb(bios);
|
||||
|
||||
// put another command to get out of status register mode
|
||||
|
||||
writeb(0x90, bios);
|
||||
chip_writeb(0x90, bios);
|
||||
myusec_delay(10);
|
||||
|
||||
id1 = readb(bios);
|
||||
id2 = readb(bios + 0x01);
|
||||
id1 = chip_readb(bios);
|
||||
id2 = chip_readb(bios + 0x01);
|
||||
|
||||
// this is needed to jam it out of "read id" mode
|
||||
writeb(0xAA, bios + 0x5555);
|
||||
writeb(0x55, bios + 0x2AAA);
|
||||
writeb(0xF0, bios + 0x5555);
|
||||
chip_writeb(0xAA, bios + 0x5555);
|
||||
chip_writeb(0x55, bios + 0x2AAA);
|
||||
chip_writeb(0xF0, bios + 0x5555);
|
||||
|
||||
return status;
|
||||
}
|
||||
@@ -106,19 +106,19 @@ int erase_lhf00l04_block(struct flashchip *flash, int offset)
|
||||
uint8_t status;
|
||||
|
||||
// clear status register
|
||||
writeb(0x50, bios);
|
||||
chip_writeb(0x50, bios);
|
||||
printf("Erase at %p\n", bios);
|
||||
status = wait_lhf00l04(flash->virtual_memory);
|
||||
print_lhf00l04_status(status);
|
||||
// clear write protect
|
||||
printf("write protect is at %p\n", (wrprotect));
|
||||
printf("write protect is 0x%x\n", readb(wrprotect));
|
||||
writeb(0, wrprotect);
|
||||
printf("write protect is 0x%x\n", readb(wrprotect));
|
||||
printf("write protect is 0x%x\n", chip_readb(wrprotect));
|
||||
chip_writeb(0, wrprotect);
|
||||
printf("write protect is 0x%x\n", chip_readb(wrprotect));
|
||||
|
||||
// now start it
|
||||
writeb(0x20, bios);
|
||||
writeb(0xd0, bios);
|
||||
chip_writeb(0x20, bios);
|
||||
chip_writeb(0xd0, bios);
|
||||
myusec_delay(10);
|
||||
// now let's see what the register is
|
||||
status = wait_lhf00l04(flash->virtual_memory);
|
||||
@@ -149,8 +149,8 @@ void write_page_lhf00l04(volatile uint8_t *bios, uint8_t *src,
|
||||
|
||||
for (i = 0; i < page_size; i++) {
|
||||
/* transfer data from source to destination */
|
||||
writeb(0x40, dst);
|
||||
writeb(*src++, dst++);
|
||||
chip_writeb(0x40, dst);
|
||||
chip_writeb(*src++, dst++);
|
||||
wait_lhf00l04(bios);
|
||||
}
|
||||
}
|
||||
@@ -163,7 +163,7 @@ int write_lhf00l04(struct flashchip *flash, uint8_t *buf)
|
||||
volatile uint8_t *bios = flash->virtual_memory;
|
||||
|
||||
erase_lhf00l04(flash);
|
||||
if (readb(bios) != 0xff) {
|
||||
if (chip_readb(bios) != 0xff) {
|
||||
printf("ERASE FAILED!\n");
|
||||
return -1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user