diff options
Diffstat (limited to 'flash_rom.c')
| -rw-r--r-- | flash_rom.c | 24 | 
1 files changed, 24 insertions, 0 deletions
| diff --git a/flash_rom.c b/flash_rom.c index d80db6c1..59d81974 100644 --- a/flash_rom.c +++ b/flash_rom.c @@ -188,6 +188,29 @@ enable_flash_cs5530(struct pci_dev *dev, char *name) {    return 0;  } +int +enable_flash_sis5595(struct pci_dev *dev, char *name) { +  unsigned char new, newer; +   +  new = pci_read_byte(dev, 0x45); + +  /* clear bit 5 */ +  new &= (~ 0x20); +  /* set bit 2 */ +  new |= 0x4; + +  pci_write_byte(dev, 0x45, new); + +  newer = pci_read_byte(dev, 0x45); +  if (newer != new) { +    printf("tried to set register 0x%x to 0x%x on %s failed (WARNING ONLY)\n",  +	   0x45, new, name); +    printf("Stuck at 0x%x\n", newer); +    return -1; +  } +  return 0; +} +  struct flashchip * probe_flash(struct flashchip * flash)  {      int fd_mem; @@ -303,6 +326,7 @@ FLASH_ENABLE enables[] = {    {0x8086, 0x2480, "E7500", enable_flash_e7500},    {0x1106, 0x8231, "VT8231", enable_flash_vt8231},    {0x1078, 0x0100, "CS5530", enable_flash_cs5530}, +  {0x1039, 0x8, "SIS5595", enable_flash_sis5595},  };  int | 
